Websocket サーブレットと Rest サーブレットがあります。これらの「イベント」を websocket 経由でサーバーに書き込むために、変更について websocket サーブレットに通知したいと考えています。
forward() と include() のアプローチしか見つかりませんでした。しかし、彼らはonGet、onPostなどしか転送できないようです.
私は何かが恋しいですか?
確かにforward()
、include()
リクエストを処理するときに使用することを意図しています。したがって、あなたが達成したいことを考えると、それらは最良の選択肢ではないかもしれません.
できることは、3 番目のコンポーネントを作成することですEventManager
。とりあえずそれを呼び出して、Rest サーブレット シグナルを に変更しますEventManager
。一方、Websocket は、EventManager
新しいデータが利用可能であることを から通知され、その新しいデータを取得してクライアントに書き戻すことができます。
このアプローチでは、Rest サーブレットと Websocket サーブレットの両方が の同じインスタンスを共有することが不可欠ですEventManager
。EventManager
アノテーションを追加してシングルトン EJB としてマークし、@Singleton
それを Rest サーブレットと Websocket サーブレットの両方に注入することで、これを実現できます。