2014-04-18 51 views
1

我知道该怎么做,并与Wildfly计划的作业这样的工作:JBoss的Wildfly - 调度

@Stateless 
public class MyTasks{ 

    @Schedule(hour = "*", minute = "5") 
    public void doWork() { 
     System.out.println("helo world!"); 
    } 
} 

如何更新计时器或立即执行这一计划,而不必更新代码。在JBoss 4中,使用MBeans和JMX控制台,我可以随时更改计时器并执行作业。有什么或某个地方允许我访问这个任务吗?

我会非常喜欢的是类似下面:

@ManagedBean 
public class ManagedTask{ 

    public void executeTask() { 
     //Not valid 
     MyTasks mytasks = new MyTasks(); 
     mytasks.setTimer(...): 
     mytasks.do work(); 
    } 
} 

回答

0
@Stateless 
public class MyTasks { 

    @Resource 
    private javax.ejb.TimerService timerService; 

    public void scheduleTimer() { 
     // Pick from a number of createTimer methods. This one expires in 5 seconds 
     Timer nextTimer = timerService.createTimer(5000, null); 
    } 

    @Timeout 
    public void doWork() { 
     System.out.println("helo world!"); 
    } 
}