2

HornetQ を使用してソリューションを実装しようとしています。C++ アプリケーションを介してアクセスする必要があるため、問題が発生します。私は activemq-cpp 組み込みサンプルをコンパイルし、openwire の代わりに stomp で動作するように変更しています (HornetQ は openwire を認識しません)。アプリケーションは、意図したキューでメッセージを生成することを拒否します。多くの人が同じ問題を抱えているようですが、誰も答えを持っていません。(cms APIのバグだと誰かが言った)

HornetQ が C++ アプリで動作する実用的な例はありますか?

PS: 明らかに、activemq-cpp の例は、openwire を使用して activemq サーバーで動作します。

4

2 に答える 2

2

HornetQ はおそらく、ActiveMQ C++ Stomp クライアントとは異なる方法で宛先名をマッピングします。たとえば、ActiveMQ では、トピックの宛先には /topic/ というプレフィックスが付けられ、キューは /queue/ です。これは HornetQ では異なると思いますが、よくわかりません。彼らが何を使用しているかについては、ドキュメントを参照してください。構成可能な場合は、CMS クライアントが送信しているものと一致するように変更できます。HornetQ プレフィックスを使用して宛先名を送信するように、CMS のローカル コピーを変更することもできます。

よろしくティム。

www.fusesource.com

于 2010-11-17T21:57:01.533 に答える
1

私が見た唯一の解決策は、HornetQ から ActiveMQ へのブリッジを Java で作成し、C++ アプリを ActiveMQ で動作させることです。アプリへのメッセージのマーシャリングを処理するために、JNI を使用して何かを実行できる場合があります。

于 2010-11-17T17:57:56.003 に答える