我發送簡單的java bean過JMS到另一個Java應用程序的Java應用程序。通過Tibco的JMS發送序列化對象將引發反序列化失敗的錯誤
這項工作完全沒ActiveMQ的,但是當我切換到Tibco的JMS經紀人引發錯誤的接收應用程序。 bean實現了序列化接口,並且兩個應用程序從包含bean的類相同的罐子運行。
我開始使用TIBCO JMS tibjmsd.exe。版本是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 有什麼我可以做或檢查?
發送應用程序使用JMS – ManojGumber 2012-04-24 12:07:17
的執行發送應用程序使用客戶端的Tibco罐。連接是通過一個通用的JMS實現,即Context.lookup連接工廠,得到連接等 – Ben 2012-04-24 15:14:14
進一步的研究發現,當JavaBean的具有基本數組錯誤「反序列化」的發生做出(即字符串[])。更改爲列表修復了問題,但是這確實是這種情況,Tibco無法接受包含原始陣列的對象? –
Ben
2012-04-24 16:49:09