2010-06-22 17 views
10

È possibile inviare messaggi complessi tramite JMS? Posso inviare messaggi di testo, messaggi ecc. Ma quando provo a inviare il mio tipo di oggetto personalizzato MyObject tramite il metodo send() di MessageProducer, viene visualizzato un errore di compilazione. eccezioneInvio di oggetti complessi tramite JMS in Java

Poi ho provato a lanciarlo, vengo cacciato come MyObject cannot be cast to javax.jms.Message

Ecco un codice che ho provato:

MessageProducer messageProducer = session.createProducer(destination); 
messageProducer.send((Message)getMyObject()); //where getMyObject method retrieves mapped myObject type 

qualcuno ha qualche consiglio? grazie

risposta

18

finché l'oggetto è Serializable, è possibile utilizzare un ObjectMessage

MessageProducer producer = session.createProducer(destination); 
ObjectMessage message = session.createObjectMessage(getMyObject()); 
producer.send(message); 
+0

C'è un modo per inviare oggetti che non sono serializzabili? Ricordo di aver letto da qualche parte che era possibile! – CKing

+1

Puoi trasformare il tuo oggetto in un json – abyteneverlie

0

avete uno di due problemi:

  1. MyObject non implementa javax.jms.Message
  2. getMyObject non restituisce un MyObject (ammesso che esso implementa messaggio)
Problemi correlati