2012-04-26 200 views
0

我正在使用Websphere MQ 6.x,并且在从队列中读取对象时出现以下异常。Websphere JMS:无法反序列化对象

Caused by: javax.jms.MessageFormatException: MQJMS1061: Unable to deserialize object 
    at com.ibm.jms.JMSMessage.newMessageFormatException(JMSMessage.java:4982) 
    at com.ibm.jms.JMSObjectMessage.getObject(JMSObjectMessage.java:289) 

我能够使用WMQ工具查看消息(类)的序列化版本。但是当应用程序读取它时,会发生这种异常。

任何想法为什么?

回答

0

我认为早期的6.x版本有一个原始类型的问题。也许它是这样的:http://www-01.ibm.com/support/docview.wss?uid = swg1IC50448

+0

不,我的类不包含一个持有原语的Class对象 – 2012-04-26 21:14:20

0

您是否尝试过使用除您的应用程序之外的其他工具从队列中读取和写入消息?

您可以尝试使用RFH Util或MQ Explorer来查看是否可以使用RFH Util读取消息并将消息写入队列,以查看问题出在您的应用程序还是MQ基础架构上。

从MQ队列中读取消息的应用程序是什么?

HTH

Manglu

+0

我能够连接到队列管理器并使用WMQ浏览队列中的消息而没有任何问题 – 2012-04-27 13:34:55

+0

正如Nicholas所说,我认为这是时候查看整个堆栈跟踪以查看可能导致此问题的原因。 – Manglu 2012-04-29 23:43:55

+0

日志的其余部分包含我无法根据公司政策分享的专有信息。抱歉。 – 2012-04-30 19:14:03

0

是否有可能应用程序读取消息不具有的类,在它的类路径?或者更微妙的问题,它可能对线程的上下文类加载器不可见。

您是否有更长的堆栈跟踪可能提供更多信息?