我有一项要求,要求在当天的给定时间运行3-6个计划任务.我是EJB计时器的新手,但已经读过EJB计时器是处理Java EE容器中的计划任务的最佳方法.
设计问题:
假设我需要10个预定任务.如果可能的话,我不希望创建10个EJB计时器.相反,我希望创建一个关闭的EJB计时器,然后重新使用它来创建所需的预定作业,为每个实例传递预定的运行时间(作为结果),这可能吗?请有人请帮助解决这个问题吗?
NB我在考虑使用非持久性EJB计时器......
另一个选项(除了alreay说)是@Schedule为每个定时方法使用带注释的单例:
@Singleton
@Startup
public class TimedTaskManager {
@Schedule(second = "0", minute = "*/5", hour = "*")
public void runTask1() {
//
}
@Schedule(second = "15", minute = "*/5", hour = "6,7,8")
public void runTask2() {
//
}
//
//
@Schedule(second = "0", minute = "*", hour = "1,2,6")
public void runTaskN() {
//
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13574 次 |
| 最近记录: |