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
を実装するか、代わりにhereを参照できますが、前者の方が優れています。ApplicationListener
それ以外の場合は、コマンドを実行して、ドキュメントに記載されているようにタイマーを明示的にキャンセルできます。
cancelEJBTimers
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)
。