在 Java 中通过 JMS 发送复杂对象

2022-09-04 19:28:18

是否可以通过 JMS 发送复杂消息?我可以发送文本消息,消息等。但是当我尝试通过方法发送我的自定义对象类型时,我得到编译错误。MyObjectsend()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

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

答案 2

您有以下两个问题之一:

  1. MyObject 不实现 javax.jms.Message
  2. getMyObject 不返回 MyObject(假设它确实实现了 Message)

推荐