我试图将Guice (Java)、Quartz调度程序和iBatis (iBaGuice)连接在一起执行以下操作:
main()启动命令行实用程序-扫描器问题:
Trigger (我可以使用Trigger#makeMinutelyTrigger)?TriggerFiredBundle参数,但是我如何连接它呢?以及我在哪里/如何创建或连接具体作业?通过创建和连接ScheduleProvider,我得到了进一步的进展。现在,我一直在讨论如何在下面的代码段中实际安排作业。我的JobFactory#newJob方法从未被调用过
public class CollectorServiceImpl implements CollectorService {
Scheduler scheduler;
/**
* @throws SchedulerException
*/
@Inject
public CollectorServiceImpl(final SchedulerFactory factory, final GuiceJobFactory jobFactory)
throws SchedulerException {
scheduler = factory.getScheduler();
scheduler.setJobFactory(jobFactory);
}
/**
* @throws SchedulerException
* @see teradata.quantum.reporting.collector.service.CollectorService#start()
*/
@Override
public void start() throws SchedulerException {
Trigger trigger = TriggerUtils.makeMinutelyTrigger("MIN_TRIGGER");
scheduler.scheduleJob(trigger); // this fails trigger validation since no job name is provided
scheduler.start();
}}
发布于 2010-04-07 19:56:02
你问题的核心是,你实际上并没有安排一个工作岗位:
getScheduler().scheduleJob(new JobDetail("myFooJob", null, FooJob.class),
TriggerUtils.makeMinutelyTrigger("MIN_TRIGGER"));http://www.codesmell.org/blog/2009/01/quartz-fits/上的完整答案和演示代码
发布于 2010-04-06 19:19:28
您真的需要调度,还是只需要在固定的时间间隔内执行重复的任务?如果是后者,请看一下ExecutorService中的java构建,特别是ScheduledThreadPoolExecutor。为一些非常简单的事情节省了一个完整的框架:)
https://stackoverflow.com/questions/2587437
复制相似问题