単純なJavaBeanをJMS経由で別のJavaアプリケーションに送信するJavaアプリケーションがあります。
これはActiveMQで完全に正常に機能しますが、Tibco JMS Brokerに切り替えると、受信側のアプリケーションでエラーがスローされます。BeanはSerializableインターフェースを実装し、両方のアプリケーションはBeanのクラスを含む同じjarから実行されます。
tibjmsd.exeを使用してTibcoJMSを起動します。バージョンは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を実行すると、同じコードがエラーなしで機能します。実行または確認できることはありますか?