ActiveMQでJMSメッセージ変換をStomp / JSONとともに使用する方法
質問
JSON形式のメッセージをActiveMQサーバーに送信しています。内部のデータでセレクターを使用できるように、JMS変換を使用してJSONエンコードされたオブジェクトを真のJavaオブジェクトに変換しようとしています。
こちらは、ストンプおよびメッセージ変換に関するドキュメントへのリンクです。 こちらは、パッチに関する議論へのリンクです。誰かが正当なJSONオブジェクトの例を示しています
送信するJSONオブジェクトの形式(きれいな印刷)は次のようになります。
{ "msg": { "flag1" : "value1", "flag2" : "value2" } }
メッセージはメッセージキューに到着しますが、変換エラープロパティが 'msg:msg'に設定されています。
解決
XStreamが処理できる限り、jms-object-json変換にJSON表記を使用できます。いくつかの例については、テストケースをご覧ください。そこで、SamplePojoクラスを使用します。
次のJSONで表現できるように適切に注釈が付けられます
{" pojo":{ " name":" Dejan&quot ;, " city":"ベオグラード" }}
クラスに対して同じアプローチを使用してみてください。
これが役立つことを願って、 デジャン
他のヒント
変換jms-map-jsonまたはjms-object-jsonが受け入れる唯一の形式は、JSONでの単純なMap形式です:
{"map" : {"entry" : [ { "string1": [ "key1", "value1" ] }, { "string2": [ "key2", "value2" ] } ] } }
これは、ディスカッションフォーラムで表示されるものと同じ形式です。この形式は、javaの名前/値ペアマップオブジェクトを表します。
セレクターは、プロパティとヘッダーでのみ使用できます。