0

Websphere 7.0、EJB3.0

デフォルトのEJBタイマーの永続性を回避する方法はありますか?タイマーはサーバーのクラッシュと再起動に耐えるように見えます。

ありがとう!

4

2 に答える 2

2

Java EE 6 (WebSphere 8 以降) で追加された非永続的な EJB タイマー。

WebSphere 7 で永続的でないタイマーが必要な場合は、おそらくAlarmManagerを使用する必要があります。

于 2013-03-03T08:19:07.547 に答える
0

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)

于 2013-03-04T07:40:58.487 に答える