私のエンタープライズ アプリケーションでは、Web レイヤーを EJB レイヤーから分離し、対応するファイル (jar と war) を 2 つの別個のサーバーにデプロイしようとしています。アプリケーションにアクセスするすべてのユーザーに対してデータベース セッションを開きたくないので、データベース内のデータの表現をメモリに格納するバッキング Bean があります。ユーザーがアプリケーションにアクセスするたびに、バッキング Bean のこのデータのみが表示されます。
データベースへの変更が行われるたびに、このデータを更新する必要があるという問題があります。今まで、これには CDI イベントを使用していました。変更が行われ、バッキング Bean がこれらのイベントをリッスンし、データベース セッションを作成してそのコンテンツを更新すると、EJB は CDI イベントをスローするだけでした。
Web アプリケーションと EJB モジュールを別々のマシンにデプロイしたいのですが、CDI イベントは同じ耳に限定されているため、これはおそらく機能しません。私はすでに耳モジュール全体を1つのサーバーにデプロイしようとしましたが、それでもイベントはバッキングBeanによって登録されませんでした.これは正常に動作するはずなので...
そこで私の質問は、JMS を使用してバッキング Bean データを更新する以外に方法はありますか? これはあまり風変わりなユースケースではないと思いますが、この問題に対処する方法に関する情報は見つかりません。