Pergunta

Estou enviando mensagens em formato JSON para um servidor ActiveMQ. Eu estou tentando usar JMS Transformação para transformar o JSON codificado objeto em um verdadeiro objeto Java na esperança de ser capaz de usar seletores no interior de dados.

Aqui é um link para a documentação sobre Stomp e mensagem de Transformação. Aqui é um link para uma discussão sobre o patch onde alguém mostra um exemplo de um objeto JSON legal

O formato do JSON objetos Estou enviando (em impressão bonita) são semelhantes a este:

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

As mensagens chegam na fila de mensagens, mas com a propriedade de transformação de erros definido para 'msg: msg'.

Foi útil?

Solução

Você pode usar qualquer notação JSON para as suas transformações jms-objeto-JSON, enquanto XStream pode lidar com isso. Você pode dar uma olhada em casos de teste para alguns exemplos. Lá, usamos classe SamplePojo:

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

que está devidamente anotado para que possa ser representado com o seguinte JSON

{ "pojo": { "Nome": "Dejan", "Cidade": "Belgrado" }}

Você pode tentar usar a mesma abordagem para as suas classes.

Espero que isso ajude, Dejan

Outras dicas

O único formato aceito pela transformação jms-map-json ou jms-objeto-JSON é um simples formato de mapa, que em JSON é:

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

Este é o mesmo formato apresentado no fórum de discussão. Este formato representa um objeto par mapa de nome / valor em java.

Seletores são apenas utilizável em Propriedades e cabeçalhos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top