Java EE環境で以下のことを行う際に、「承認済み」またはベストプラクティスのアプローチを決定しようとしています。クライアントがWebページ上にあり、ボタンをクリックしています。これは、プロセス、すなわちデータベース活動、ネットワークなどを監視するスレッドを開始する。このプロセスは、プロセスが終了するように指示するボタンをユーザがクリックするまで、引き続き実行される。他のクライアントおよび/または同じクライアントがボタンをクリックしてそのプロセスから送信されているステータスを聞くと、ユーザがリッスンを停止するためにボタンをクリックするまでリッスンし続けます。Java EEとバックグラウンドスレッド
WebSocketApplicationを継承したシングルトンEJBを取得したサーブレットと通信するために、すでにWebSocketを使用して上記を行っています。しかし、このEJBはプロセススレッドを生成して監視を行います。それは動作し、シングルトンであるため動作し続ける必要がありますが、それを行う "承認された"方法ではありません。
いくつかの提案私は、JMSを使用してスレッドを生成することについて検討しましたが、誤解しない限り、Message Driven Beanはスレッドを生成するものではないため何も解決しません。では、これを行うための承認済み/ベストプラクティスの方法は何ですか? Java EE環境でバックグラウンドプロセスを開始および停止するにはどうすればよいですか?この場合も、要求が発行されるのは1つのプロセスだけで、サーブレットに登録されているすべてのWebSocketと通信する必要があります。メッセージを送信すると死ぬことができます(サーバーがソケットを閉じるわけではありませんバックアップを開始し、以前に登録したすべてのクライアントと通信します)。
ありがとうございました。