如何轻松设置同步计划任务? Cron Java

时间:2012-02-02 13:03:14

标签: java cron quartz-scheduler simultaneous crontrigger

同时执行两项任务我遇到了麻烦。

我有一个界面:

import org.springframework.scheduling.TaskScheduler;
import org.springframework.scheduling.Trigger;

public interface ScheduledTask extends Runnable {
  public void schedule(final TaskScheduler taskScheduler, final Trigger triggerInterval);
}

两个类似的类,我将称之为MyTaskOne和MyTaskTwo,两者都是:

@Component
@ApplicationScoped
public class MyTaskOne implements ScheduledTask  {
  public TaskOne(final TaskScheduler taskScheduler) {
    this.scheduler(agendadorDeTarefas, new CronTrigger("0 */31 * * * ?"));
    }
}

@Override
public void run() {
      //Bla bla bla
}

@Override
public void scheduler(final TaskScheduler taskscheduler, final Trigger triggerInterval) {
    taskscheduler.schedule(this, triggerInterval);
}

除了run()的内容之外,MyTaskOne和MyTaskTwo之间的区别是cron间隔,MyTaskOne是(“0 * / 31 * * *?”)而MyTaskTwo是(“0 * / 37 * * *? “)。

什么是happing是MyTaskOne首先初始化,MyTaskTwo只在MyTaskOne完成之后,我想同时运行两个,我怎样才能轻松设置它?

服务器有apache-tomcat 6。

感谢任何帮助,对任何语法错误感到抱歉!

1 个答案:

答案 0 :(得分:0)

使用线程解决。

将我的任务实现为ScheduledTask和Runnable,

使用具有信号量的线程来控制效果非常好。