2012-02-02 3 views
0

동시에 두 가지 작업을 실행하는 데 문제가 있습니다. 내가 MyTaskOne 및 MyTaskTwo, 모두 같은 전화 것,동시 예약 작업을 쉽게 설정하는 방법은 무엇입니까? Cron Java

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

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

그리고 두 개의 유사한 클래스 :

나는 인터페이스가

@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이 초기화되고 MyTaskOne이 완료된 후에 만 ​​MyTaskTwo가 실행됩니다. 두 가지를 동시에 실행하려면 어떻게해야할까요?

서버는 어떤 문법 실수 (6)

어떤 도움에 감사하다 바람둥이 - 아파치, 미안했다!

답변

0

스레드를 사용하여 해결.

제어에 세마포어 스레드를 사용 ScheduledTask와의 Runnable 같은 내 작업,

아주 잘 작동을 구현했습니다.

관련 문제