views:

56

answers:

2

Is it possible to send complex messages via JMS? I can send TextMessages, Messages etc .. but when I try to send my custom object type MyObject trough send() method of MessageProducer I get compile error.

Then I tried to cast it, I get cast exception like MyObject cannot be cast to javax.jms.Message

Here is a code I tried :

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

anyone got any advice? thank you

A: 

You have one of two problems:

  1. MyObject does not implement javax.jms.Message
  2. getMyObject does not return a MyObject (assuming that it does implement Message)
Greg Harman
+5  A: 

As long as your object is Serializable, you can use an ObjectMessage

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