当前位置: 首页 > 知识库问答 >
问题:

Spring+Quartz-如何为相同的作业方法创建不同的触发器

孟建木
2023-03-14
public class Job {

@Autowired LightService lightService

private void doJob(Light light){

lightService.toggleLight(light);
}

}
List<Light> lights = dao.findLights();

对于每个,我必须设置一个作业,该作业将具有不同的触发器。

有可能吗?

共有1个答案

赫连照
2023-03-14

如果您使用Spring包装石英,那么:

//SchedulerFactoryBean schedulerFact
Scheduler scheduler = schedulerFact.getObject();
scheduler.scheduleJob(jobDetail,trigger);

AutowireSchedulerFactoryBean SchedulerFact,您可以在任何方法中使用它。

如果直接用石英,

 //Scheduler scheduler
 scheduler.scheduleJob(jobDetail,trigger);
 类似资料:
  • 我有两个不同的工作(实际上更多,但为了简单起见,假设2)。每个作业可以与另一个作业并行运行,但同一作业的每个实例应该顺序运行(否则实例将共享彼此的资源)。 基本上,我希望这些作业中的每一个都有自己的作业实例队列。我想我可以使用两个不同的线程池作业启动程序(每个都有一个线程),并将一个作业启动程序与每个作业相关联。 在从Spring Batch Admin web UI中启动作业时,是否有一种方法可

  • 我试图为不同的包设置单独的日志文件。我使用一个包装类的记录器。我的应用程序中的每个类都调用相同的包装器类。我的包装类: 这就是所谓的: 有没有办法配置log4j,以便将不同包的日志记录输出到不同的文件? 谢谢! 编辑: 这是我的文件:

  • 我是冲刺批次的新手,我找不到问题的答案。 我正在尝试使用Spring引导和Spring批处理实现JOB。我的JOB需要一个参数,所以我像这样执行应用程序: java-jar-Dspring。配置文件。活动=gus/应用程序/botbit批处理/botbit-batch-1.0.0。jar——Spring。一批工作名称=persistCustomerSuccessMetrics日期=2015年12月

  • 我有一个场景,其中一个url“serachUser”可能带有两个不同的值(请求参数)userId或UserName。 为此我创造了两种方法 但我得到模糊映射发现异常。Spring能处理这种情况吗?

  • 我使用Quartz调度器执行10个作业。所有这些工作都有自己的导火索。因此它们是异步执行的。 然而,现在我需要这些工作中的2个,以更具体的方式执行。假设Job1每偶数分钟执行一次,Job2每奇数分钟执行一次。现在我想让Job2等待Job1完成。示例:Job1在10:02开始执行。10点03分,Job2的触发器被触发。但是在Job2开始执行之前,如果Job1已经完成,它将查看它。 你知道我怎么解决问

  • 在Apache Hadoop中使用job.waitForCompletion(true)方法和通过ToolRunner.run(new MyClass(),args)启动map reduce作业有什么区别? 我通过以下两种方式执行MapReduce作业: 首先如下: 其次是: 两种方法的输出都是一样的。但是我不明白这两种方法有什么区别?哪一种比另一种更受欢迎?