2017-02-10 4 views
0

jboss(JEE6)でタイマー/スケジュールサービスを作成する必要があります。問題は、jbossモジュールとしてデプロイされることです。私は、次のコードがEJBとしてデプロイされた場合に動作することを知っていますjbossモジュールのタイマーの使用

@Schedule(hour="*/1", persistent=false) 

しかし、それ以外の方法で実装されていれば動作しません。 jbossモジュールでタイマーを作成して使用するための推奨事項や標準的な方法はありますか?私はTimerTaskを作成するコアJavaの方法を避けたい。

答えて

0

効率的な方法でアプリケーション間でコードを共有するためのjbossモジュールが作成されています。詳細についてはhereを参照してください。現在、モジュールはEJBコンテナにデプロイされていないため、ここでEJBスケジューラーを使用することはできません。私たちの場合の可能な解決策は、これらのjbossモジュールに依存するEJBを作成することでした。そのEJBのメソッドはスケジューラによって呼び出されます。例えば

@Singleton 
@Startup 
public class NotificationRecorderBean { 


@Inject 
private MyJbossModule myJbossModule; 

@Schedule(hour="*/1", persistent=false) 
    public void execute() { 
     LOGGER.debug("Recording notification count"); 
     myJbossModule.process(); 
    } 

} 
関連する問題