Как легко настроить одновременное запланированное задание?Cron Java - PullRequest
0 голосов
/ 02 февраля 2012

У меня проблемы с одновременным выполнением двух задач.

У меня есть интерфейс:

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.

Любая помощь приветствуется, и извините за любые грамматические ошибки!

1 Ответ

0 голосов
/ 15 февраля 2012

Решено с помощью потоков.

Реализовал мою задачу как ScheduledTask и Runnable,

Использование потоков с семафором для управления работало очень хорошо.

...