EventBusイベントはRMI接続を介して機能しますか?
基本的な考え方:RMIサーバーと任意の数のクライアントがあります。サーバーはEventBusオブジェクトを保持し、getEventBus()
メソッドを介して公開します。
望ましい結果:クライアントがサーバーのEventBusに何かを公開すると、他の登録済みクライアントに通知されます。
誰かがこのようなことをしたか、なぜそれが機能しないのか知っていますか?もしそうなら、落とし穴はありますか?
EventBus によって公開されたメッセージは、JVM 内でのみ利用できます。RMI を使用しているため、サーバー/クライアントは独自の環境で実行されると思われるため、これは不可能です (聞いたところによると、ppl はリモート EventBus を実装しようとしましたが、成功したかどうかはわかりません)。通常、EventBus は、同じアプリケーション内の UI 固有の通信に使用されます。
異なる JVM 間で通信したい場合、Java Messaging Services (JMS) のようなものがサーバーから関心のあるクライアントにイベントをブロードキャストするのに便利です。JMS の有名な実装はActiveMQです。