0

パブリックRESTfulAPIを公開し、ActiveMQインスタンスを構成して(可能)そのAPIをリッスンし、それらのAPI呼び出しのJSONまたはXMLバージョンを自動的にエンキューするか、ソフトウェアを構成/書き込みしてAPI呼び出しをに変換したいと思います。メッセージを送信し、メッセージをActiveMQキュー/トピックにエンキューします。

つまり、言い換えると、

  1. サードパーティがHTTPリクエスト(GET / POST / PUT / whatever)をに送信しますhttp://myserver.com/api/enqueue
  2. また:
    • ActiveMQは何らかの形でリッスンしており、API呼び出しの本文でキュー/トピックをhttp://myserver.com/api/enqueue自動的にエンキューします。toProcessまた
    • そのURLをリッスンしているある種のサーブレットがあり、そのリクエストをソフトウェア(オープンソースのJavaライブラリまたは自家製のもの)に渡します。このソフトウェアは、HttpServletRequest本体を抽出してActiveMQサーバーのキュー/トピックにエンキューできます。

だから私は尋ねます:ActiveMQは箱から出してこの機能を備えていますか(初期の調査ではそうではないことが示されています)、または私のためにこれを行うオープンソースライブラリ、または私のためにその一部がありますか?または、私はカスタムの自家製ソリューションに固執していますか?前もって感謝します。

4

1 に答える 1

1

簡単な方法で、ActiveMQは実際にHTTP/REST風のキューとの相互作用をすぐにサポートします

Camelを求めたように、はい、より高度なREST APIの作成をサポートし、ActiveMQで非常にうまく機能します(実際、Camel CoreおよびJMSモジュールはActiveMQディストリビューションの一部です)。

Camelを使用してRESTAPIを作成する私のお気に入りの方法は、レストレットを使用することです。

Brian Roachが言ったように、これはプレーンなJavaコードでもいくつかのヘルパーライブラリを使用して行うのは非常に簡単なはずなので、ここで自家製のものについて悪く感じないでください。

于 2012-12-16T21:20:40.243 に答える