2010-06-22 13 views
10

¿Es posible enviar mensajes complejos a través de JMS? Puedo enviar mensajes de texto, mensajes, etc. pero cuando intento enviar mi tipo de objeto personalizado MyObject a través del método send() de MessageProducer obtengo un error de compilación. excepciónEnvío de objetos complejos a través de JMS en Java

Luego trató de echarlo, consigo lanzan como MyObject cannot be cast to javax.jms.Message

Aquí es un código que he intentado:

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

Alguien tiene algún consejo? agradecerá

Respuesta

18

siempre y cuando su objeto es Serializable, se puede usar un ObjectMessage

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

¿Hay alguna manera de enviar objetos que no son serializables? ¡Recuerdo haber leído en algún lado que esto era posible! – CKing

+1

Puedes transformar tu objeto en un json – abyteneverlie

0

usted tiene uno de dos problemas:

  1. MiObjeto no implementa javax.jms.Message
  2. getMyObject no devuelve un MiObjeto (suponiendo que no implementar Mensaje)
Cuestiones relacionadas