Websphere 7.0、EJB3.0
有没有办法避免默认的 EJB 计时器持久性。看起来计时器在服务器崩溃和重新启动后仍然存在。
谢谢!
Websphere 7.0、EJB3.0
有没有办法避免默认的 EJB 计时器持久性。看起来计时器在服务器崩溃和重新启动后仍然存在。
谢谢!
Java EE 6(WebSphere 8 及更高版本)中添加了非持久 EJB 计时器。
如果您需要 WebSphere 7 中的非持久计时器,您可能需要使用AlarmManager
EJB-3.0 的首选方法是在服务器关闭/启动时清除所有计时器,以避免计时器因故障而持续存在。
您可以将代码放置在适当的方法中 -onApplicationEnd
或者onApplicationStart
通过实现ApplicationListener
接口,或者您可以参考这里,但前者更好。
否则,可以运行命令以显式取消计时器,如文档中所述。
取消EJBTimers
This command cancels and removes from persistent storage EJB timers based on the specified filter criteria.
The syntax for this command is: cancelEJBTimers server filter [options] filter: -all | -timer | -app [-mod [-bean ]]
-all
-timer timer id
-app application name
-mod module name
-bean bean name
options: -host host name
-port portnumber
-conntype connector type
-user userid
-password password
-quiet
-logfile filename
-replacelog
-trace
-help
在 EJB-3.1 中,TimerConfig
您可以使用setPersistent(isPersistent)
.