Отправка сложного объекта через JMS в Java

Можно ли отправлять сложные сообщения через JMS? Я могу отправить TextMessages, сообщения и т.д., Но когда я пытаюсь отправить свой собственный тип объекта MyObject trough send() метод MessageProducer, я получаю ошибку компиляции.

Затем я попытался использовать его, я получаю исключение исключения, например MyObject cannot be cast to javax.jms.Message

Вот код, который я пробовал:

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

Кто-нибудь получил совет? спасибо

Ответ 1

Пока ваш объект Serializable, вы можете использовать ObjectMessage

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

Ответ 2

У вас есть одна из двух проблем:

  • MyObject не реализует javax.jms.Message
  • getMyObject не возвращает MyObject (при условии, что он выполняет Message)