Domanda

Sto inviando messaggi in formato JSON a un server ActiveMQ. Sto cercando di utilizzare JMS Transformation per trasformare l'oggetto codificato JSON in un vero oggetto Java nella speranza di poter utilizzare selettori sui dati all'interno.

Qui è un link alla documentazione su Stomp e Message Transformation. Here è un collegamento a una discussione sulla patch in cui qualcuno mostra un esempio di un oggetto JSON legale

Il formato degli oggetti JSON che sto inviando (in bella stampa) è simile a questo:

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

I messaggi arrivano nella coda dei messaggi, ma con la proprietà di errore di trasformazione impostata su 'msg: msg'.

È stato utile?

Soluzione

puoi usare qualsiasi notazione JSON per le tue trasformazioni jms-object-json purché XStream sia in grado di gestirlo. Puoi dare un'occhiata ai casi di test per alcuni esempi. Qui usiamo la classe SamplePojo:

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

che è correttamente annotato in modo che possa essere rappresentato con il seguente JSON

{" POJO ": {         & Quot; nome ": " Dejan " ;,         & Quot; città ": " Belgrado "         }}

Puoi provare a utilizzare lo stesso approccio per le tue lezioni.

Spero che questo aiuti, Dejan

Altri suggerimenti

L'unico formato accettato dalla trasformazione jms-map-json o jms-object-json è un semplice formato Map, che in JSON è:

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

Questo è lo stesso formato mostrato nel forum di discussione. Questo formato rappresenta un oggetto mappa coppia nome / valore in java.

I selettori sono utilizzabili solo su Proprietà e Intestazioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top