2008-12-31 45 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

相关问题