I am sending messages in JSON format to an ActiveMQ server. I am trying to use JMS Transformation to transform the JSON encoded object into a true Java Object in hopes of being able to use selectors on the data inside.
Here is a link to the documentation on Stomp and Message Transformation. Here is a link to a discussion on the patch where someone shows an example of a legal JSON object
The format of the JSON objects I am sending (in pretty print) are similar to this:
{ 'msg': { 'flag1' : 'value1', 'flag2' : 'value2' } }
The messages arrive in the message queue, but with the transformation-error property set to ‘msg : msg’.
you can use any JSON notation for your jms-object-json transformations as long as XStream can handle it. You can take a look at test cases for some examples. There, we use SamplePojo class:
https://svn.apache.org/repos/asf/activemq/trunk/activemq-stomp/src/test/java/org/apache/activemq/transport/stomp/SamplePojo.java
which is properly annotated so it can be represented with the following JSON
{‘pojo’:{ ‘name’:’Dejan’, ‘city’:’Belgrade’ }}
You can try using the same approach for your classes.
Hope this helps, Dejan