网站首页 新闻首页 网页设计图形动画软件编程网站开发办公软件操作系统数据库网络技术认证考试范文资料黑客攻防 书籍教程 进入论坛

MQJMS1061: Unable to deserialize object message due to java.lang.ClassNotFoundException when using WebSphere MQ

http://www.diybl.com/ 2008-1-31  网络 点击:  [ 评论 ]
文章搜索:    【点击打包该文章】

错误:

MQJMS1061: Unable to deserialize object message due to java.lang.ClassNotFoundException when using WebSphere MQ

中文可能是:

Caused by: javax.jms.MessageFormatException: MQJMS1061: 无法并行化对象
 at com.ibm.jms.JMSMessage.newMessageFormatException(JMSMessage.java:4542)
 at com.ibm.jms.JMSObjectMessage.getObject(JMSObjectMessage.java:266)

 

解决办法:

http://www-1.ibm.com/support/docview.wss?apar=only&uid=swg1IY75589

 

 
Fixes are available

WebSphere MQ V5.3 and WebSphere MQ Express V5.3 - Fix Pack 12 (CSD12)
WebSphere MQ V6.0 for iSeries Refresh Pack 6.0.1.0
WebSphere MQ V5.3 for iSeries - Fix Pack 12 (CSD12)
WebSphere MQ V6.0 Refresh Pack 6.0.1.0
WebSphere MQ V6.0 Refresh Pack 6.0.2.0
WebSphere MQ V5.3 and WebSphere MQ Express V5.3 - Fix Pack 13 (CSD13)
WebSphere MQ V5.3 and WebSphere MQ Express V5.3 - Fix Pack 14 (CSD14)



APAR status
Closed as program error.

Error description

When attempting to get a JMS Object Message using WebSphere MQ,the JMS client application receives the following error:MQJMS1061: Unable to deserialize object message due tojava.lang.ClassNotFoundException

Local fix

MQ modified to use Class.forName(clsName,cl) instead ofloadclass() as JVM classloaders do not load non-systemarray classes using loadclass().

Problem summary

****************************************************************USERS AFFECTED:This problem affects customers who use the Java Message Service(JMS) functionality provided with WebSphere MQ Version5.3 and 6.0.Platforms affected: All Distributed (iSeries, all Unix and Windows) +Java****************************************************************PROBLEM SUMMARY:This problem was caused by the way the MQObjectInputStreamclass implemented the standard Java method resolveClass().Previously, the method made the following calls:- Call loadClass() using the MQObjectInputStream''s classloader.- Call Class.forName() using the default class loader.However, in certain circumstances, this sequence of calls doesnot work, resulting in the ClassNotFoundException.

Problem conclusion

Following recommendations from the Java Technology Center, theresolveClass() method was changed to adopt the followingmechanism for locating classes:- Call Class.forName() using the MQOjbectInputStream''s classloader.- Call Class.forName() using the default class loader.- Call loadClass() using the MQObjectInputStream''s classloader.The Java Technology Center recommend that all customerimplementations of resolveClass() adopt this method of locatingclasses.---------------------------------------------------------------The fix is targeted for delivery in the following PTFs:                   v5.3Platform           Fix Pack 12--------           --------------------Windows            U200242AIX                U803326HP-UX (PA-RISC)    U803577Solaris (SPARC)    U803579iSeries            SI21717Linux (x86)        U803580Linux (zSeries)    U803582Linux (Power)      Not applicable                   v6.0Platform           Refresh Pack 6.0.1.0--------           --------------------Windows            U200243AIX                U803805HP-UX (PA-RISC)    U803943Solaris (SPARC)    U803944iSeries            SI17318Linux (x86)        U803945Linux (zSeries)    U803946Linux (Power)      U803947The latest available maintenance can be obtained from''WebSphere MQ Recommended Fixes''http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037If the maintenance level is not yet available, information onits planned availability can be found in ''WebSphere MQPlanned Maintenance Release Dates''http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309---------------------------------------------------------------

Temporary fix

 

Comments

 

文章整理:DIY部落 http://www.diybl.com (本站)   【点击打包该文章】
[1] [2]
如果图片或页面不能正常显示请点击这里 站内搜索:   

文章评论

请您留言

 

最新新闻