2008-12-31 42 views
6

我正在以JSON格式向ActiveMQ服務器發送消息。我正在嘗試使用JMS轉換將JSON編碼對象轉換爲真正的Java對象,希望能夠在內部數據上使用選擇器。如何在Stomp/JSON中使用ActiveMQ中的JMS消息轉換

Here是Stomp和消息轉換文檔的鏈接。 Here是對補丁進行討論一個鏈接,有人展示了法律的JSON對象

我送的JSON對象的格式的例子(漂亮打印)與此類似:

 
{ 
    "msg": { 
     "flag1" : "value1", 
     "flag2" : "value2" 
    } 
} 

消息到達消息隊列中,但轉換錯誤屬性設置爲「msg:msg」。

回答

3

只要XStream可以處理它,您就可以爲您的jms-object-json轉換使用任何JSON表示法。您可以查看一些示例的測試用例。在那裏,我們使用SamplePojo類:

https://svn.apache.org/repos/asf/activemq/trunk/activemq-stomp/src/test/java/org/apache/activemq/transport/stomp/SamplePojo.java

這是正確的註釋,因此它可以用下面的JSON表示

{ 「POJO」:{ 「名」: 「德揚」, 「城市「:」貝爾格萊德「 }}

您可以嘗試對您的課程使用相同的方法。

希望這有助於 德揚

+0

鏈接dosn't工作proberly! – 2013-07-25 07:32:42

4

由變換JMS-MAP-JSON或JMS-對象JSON唯一接受的格式是一個簡單的地圖格式,這在JSON是:

 
{"map" : 
    {"entry" : 
    [ 
     { "string1": [ "key1", "value1" ] }, 
     { "string2": [ "key2", "value2" ] } 
    ] 
    } 
} 

這是在討論論壇中所示的相同的格式。這種格式表示java中的名稱/值對映射對象。

選擇器僅適用於屬性和標題。

+0

非常感謝你的答案是什麼,我期待的! – 2013-07-25 07:26:46

相關問題