我有一个 java 应用程序,它通过 JMS 将一个简单的 java bean 发送到另一个 java 应用程序。
这完全可以正常工作 ActiveMQ,但是当我切换到 Tibco JMS Broker 时,接收应用程序会引发错误。bean 实现了Serializable接口,并且两个应用程序都从包含 bean 类的相同 jar 中运行。
我使用tibjmsd.exe启动 Tibco JMS 。版本为 4.1.0。
来自发送 java 客户端的简单检查会生成以下错误:
代码:
..
....
MyBean bean = new MyBean(1,”Test”);
final ObjectMessage msg = jmssession.createObjectMessage(bean);
try {
msg.getObject();
} catch (Exception e) {
LOG.error("Problem with storing bean", e);
}
....
..
来自上述代码的错误消息:
javax.jms.MessageFormatException: Deserialization failed: [Ljava.lang.String;
at com.tibco.tibjms.TibjmsObjectMessage.getObject(TibjmsObjectMessage.java:199)
运行 ActiveMQ 时相同的代码可以正常工作有什么我可以做或检查的吗?