3

WebLogic 10.3.5 で初めての Java EE 5 アプリケーションを作成しています。アーキテクチャに関するアドバイスが必要です。

アプリが起動したら、インスタント メッセージを送信するために XMPP サーバーへの永続的な接続を開く必要があります。メッセージは、アプリの別の部分によって入力されるテーブルから常に取得されます。

オブジェクトとソケット接続のライフサイクルを制御できなくなるため、EJB などのコンテナー管理オブジェクトをこれに使用することはできません。

サーブレットは、アプリで開始され、永続的なソケット接続を保持するプロセスの適切な候補ですか?

4

2 に答える 2

2

Markus Eisele のblogpostにリストされているオプションの 1 つを使用するようです。アプリケーション ライフサイクル リスナーの Weblogic 固有のメカニズム (純粋な Java EE ではありません) について言及されています。

于 2012-09-03T09:55:03.763 に答える
1

インスタンス化する ServletContextListener と EJB 3.0 ステートレス セッション Bean を作成することで、これを解決しました。

次に、セッション Bean は @PostConstruct メソッドを使用して XMPP 接続をインスタンス化し、@PreDestroy メソッドを使用して接続を閉じます。

セッション Bean で EJB 3.0 タイマーを使用して、数分ごとにメッセージ キュー テーブルをポーリングするようにしました。

于 2012-09-03T16:26:30.433 に答える