suj*_*jan 7 java concurrency websphere timer cluster-computing
如何在WebSphere集群上获取一次计时器任务,只执行一次?我知道这在其他应用服务器上是可行的,但无法弄清楚如何在WebSphere中执行此操作.
您可以使用WebSphere的Scheduler服务来执行您想要的操作.如果在集群作用域中定义调度程序服务,则每个集群成员将运行调度程序守护程序,但将共享任务DB,这意味着只有其中一个将执行您添加的任务.他们每30秒(可配置)轮询数据库,第一次打开以查看任务将执行它.
请记住,EJB 3.1提供的新功能可能会帮助您按照自己的意愿行事,但这只是WAS 8.
小智 3
我不确定你的问题是集群问题还是其他问题。但是,如果您想在一次执行后停止 TimerListener,您只需使用输入的计时器变量并将其取消即可。
前任:
public static class MyTimer implements TimerListener {
public void timerExpired(Timer timer) {
timer.cancel();
}
}
Run Code Online (Sandbox Code Playgroud)
如果您在集群环境中遇到问题,每个实例运行一次任务,那么我很抱歉发布这个简单的答案。
| 归档时间: |
|
| 查看次数: |
4184 次 |
| 最近记录: |