我在同时运行两个任务时遇到了麻烦。
我有一个界面:
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);
}
MyTaskOne 和 MyTaskTwo 的区别,除了 run() 的内容,就是 cron 间隔,MyTaskOne 是 ("0 */31 * * * ?"),MyTaskTwo 是 ("0 */37 * * * ?")。
发生的事情是 MyTaskOne 首先初始化,而 MyTaskTwo 仅在 MyTaskOne 完成后进行,我想同时运行两者,如何轻松设置?
服务器有 apache-tomcat 6。
任何帮助表示感谢,对任何语法错误深表歉意!