5

JMSをサブスクライブし、node.jsアプリ内からメッセージを受信することは可能ですか?amqpメッセージ用のamqpモジュールのように、これを可能にするnode.jsモジュールはありますか?

現在、メッセージはJavaアプリによって受信されています。しかし、私はjavascriptに切り替えようとしています。

ありがとう

4

1 に答える 1

15

簡単な答え:いいえ。

長い答え:JMSはJavaのAPIインターフェース仕様に他なりません。JavaなしでJMSを実際に使用することはできません。したがって、汎用JMS(任意のベンダー)を使用するには、JMS実装とJavaScript(node.js)アプリの間にJavaグルーコード(seamなどのカスタムメイドのもの)が必要です。

一方、AMQPは単なるAPIではありません。これは実際には標準化されたワイヤプロトコルであるため、任意の言語で実装できます。JMSにはこのような贅沢はありません。

そうは言っても、特定のベンダーと一緒に行くことを選択した場合、あなたのためのオプションがあるかもしれません。

Apache ActiveMQがAJAXをサポートしていることを頭から知っています。これは、IBM WebSphereMQとJBossHornetQ(http://www.jboss.org/hornetq/rest.html)にも(少なくとも部分的に)当てはまります。

REST / AJAX以外の他のオプションは、さまざまなJMSベンダーが使用するさまざまなWireプロトコルの実装を実装または検索しようとしています。AMQPをサポートするApacheQPidの場合、これは簡単です。STOMPは、ActiveMQやHornetQなどの複数のJMS実装でサポートされている別の軽量プロトコルであり、インターネット全体でnode.js/javaスクリプトライブラリを見つけることができます。

より時間のかかるオプションは、特定の実装C / C ++ API(存在する場合)を使用してnode.jsに拡張機能を記述し、それを使用して接続することです。それは(おそらく)REST / AJAXアプローチよりも信頼性が高いだけでなく、はるかに時間がかかります

于 2012-09-06T21:36:59.650 に答える