3

JAX-RS Jersey を使用して RESTful サービスを作成し、Tomcat 7 サーバーにデプロイしました。

JMSを使用したいと思います。リクエストはキャプチャされ、メッセージ ブローカーのメッセージ キューに送られ、そこからメッセージが REST サービスにプッシュされ、レスポンスがエンド ユーザーにリダイレクトされます。

Activemq を使用しています。Activemq を RESTful サービスと統合するにはどうすればよいですか?

4

1 に答える 1

3

Web サービス インターフェイスは、 と の 2 つの機能を提供する必要がsubmitありpollます。

  • クライアントはsubmit、要求を JMS メッセージとして着信キューに送信し、メッセージ ID を返します。submitその後に戻ります。
  • リクエスト処理は非同期で実行されます。たとえば、メッセージ駆動型 Bean (MDB) は着信キューをリッスンし、メッセージを処理して、結果を発信キューに書き込みます。結果メッセージの相関 IDを着信要求のメッセージ IDに設定します。相関 ID は、要求とその結果を結び付けるために必要です。
  • クライアントは、poll( によって返されるsubmit) メッセージ ID を引数として関数を呼び出しpollます。相関 ID で JMS メッセージ セレクターを使用して結果キューをチェックします。「未完了」または結果を返します。pollクライアントは、結果を得るために複数回呼び出す必要がある場合があります。

ノート:

  • JMS メッセージ セレクターはフィルター (データベースの where 句のようなもの) です。このシナリオでは、特定の要求の結果を識別するために必要です。
  • setJMSCorrelationIDの Javadoc
于 2013-09-25T10:19:53.493 に答える