ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ Installation/Configuration Support » MQ 6.0.2.4 with Mule ESB 1.3.3

Post new topic  Reply to topic
 MQ 6.0.2.4 with Mule ESB 1.3.3 « View previous topic :: View next topic » 
Author Message
zeitgeber
PostPosted: Tue Jul 14, 2009 3:59 pm    Post subject: MQ 6.0.2.4 with Mule ESB 1.3.3 Reply with quote

Newbie

Joined: 14 Jul 2009
Posts: 2

I have Mule ESB being the client of MQ.

I had Mule ESB 1.3.3 working perfectly with MQ 5.3.

However, when I upgraded to MQ 6.0.2.4, suddenly, Mule could no longer establish connection to MQ.

I copied across the following MQ 6.0.2.4 client jars from /opt/mqm/java/lib
onto the classpath of Mule 1.3.3 :
com.ibm.mq.jar (452,682 bytes)
com.ibm.mqjms.jar (1,288,252 bytes)
dhbcore.jar (1,997,216 bytes)

but when I try to start Mule, I got this error in the Mule log :



Root Exception stack trace:
com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object. Root exception is java.lang.NoSuchFieldError: com.ibm.mqservices.Trace: field isOn not found
at com.ibm.mq.PoolScavenger.<clinit>(PoolScavenger.java:79)
at com.ibm.mq.MQSimpleConnectionManager.<init>(MQSimpleConnectionManager.java:49)
at com.ibm.mq.MQEnvironment.<clinit>(MQEnvironment.java:490)
at com.ibm.mq.jms.services.ConfigEnvironment.<clinit>(ConfigEnvironment.java:190)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:260)
at com.ibm.mq.jms.MQConnectionFactory$1.run(MQConnectionFactory.java:637)
at java.security.AccessController.doPrivileged1(Native Method)
at java.security.AccessController.doPrivileged(AccessController.java:287)
at com.ibm.mq.jms.MQConnectionFactory.<clinit>(MQConnectionFactory.java:630)
at java.lang.Class.forName1(Native Method)
at java.lang.Class.forName(Class.java:180)
at com.ibm.mq.jms.MQXAQueueConnectionFactoryFactory.class$(MQXAQueueConnectionFactoryFactory.java:54)
at com.ibm.mq.jms.MQXAQueueConnectionFactoryFactory.getObjectInstance(MQXAQueueConnectionFactoryFactory.java:54)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:314)
at com.ibm.ejs.jms.JMSConnectionFactoryFactory.getObjectInstance(JMSConnectionFactoryFactory.java:81)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:314)
at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookupExt(Helpers.java:874)
at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookup(Helpers.java:681)
at com.ibm.ws.naming.jndicos.CNContextImpl.processResolveResults(CNContextImpl.java:1969)
at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1824)
at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1737)
at com.ibm.ws.naming.jndicos.CNContextImpl.lookupExt(CNContextImpl.java:1444)
at com.ibm.ws.naming.jndicos.CNContextImpl.lookup(CNContextImpl.java:1324)
at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:144)
at javax.naming.InitialContext.lookup(InitialContext.java:361)
at org.mule.providers.jms.JmsConnector.createConnectionFactory(JmsConnector.java:196)
at org.mule.providers.jms.JmsConnector.doConnect(JmsConnector.java:325)
at org.mule.providers.AbstractConnector.connect(AbstractConnector.java:993)
at org.mule.providers.SingleAttemptConnectionStrategy.doConnect(SingleAttemptConnectionStrategy.java:29)
at org.mule.providers.AbstractConnectionStrategy.connect(AbstractConnectionStrategy.java:86)
at org.mule.providers.AbstractConnector.connect(AbstractConnector.java:983)
at org.mule.providers.SingleAttemptConnectionStrategy.doConnect(SingleAttemptConnectionStrategy.java:29)
at org.mule.providers.AbstractConnectionStrategy.connect(AbstractConnectionStrategy.java:86)
at org.mule.providers.AbstractConnector.startConnector(AbstractConnector.java:324)
at org.mule.MuleManager.startConnectors(MuleManager.java:901)
at org.mule.MuleManager.start(MuleManager.java:854)
at org.mule.config.builders.MuleXmlConfigurationBuilder.configure(MuleXmlConfigurationBuilder.java:247)
at org.mule.config.builders.MuleXmlConfigurationBuilder.configure(MuleXmlConfigurationBuilder.java:208)
at org.mule.MuleServer.initialize(MuleServer.java:268)
at org.mule.MuleServer.run(MuleServer.java:181)
at org.mule.MuleServer.start(MuleServer.java:169)
at org.mule.MuleServer.main(MuleServer.java:140)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:5
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
at java.lang.reflect.Method.invoke(Method.java:391)
at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:292)
at java.lang.Thread.run(Thread.java:571)



It appears that PoolScavenger could not find the field Trace.isOn via reflection.
I decompiled Trace.class and I could see the field exists.

Note: Both PoolScavenger.class and Trace.class exist in com.ibm.mq.jar

Any ideas ?
Back to top
View user's profile Send private message
zeitgeber
PostPosted: Tue Jul 14, 2009 4:19 pm    Post subject: Reply with quote

Newbie

Joined: 14 Jul 2009
Posts: 2

I found the problem. Stupid me. I had com.ibm.mqbind.jar (39,459 bytes) in the classpath of Mule, and that jar also contains Trace.class which didn't have the isOn field. I simply deleted that jar and Mule is happy again.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Jul 14, 2009 7:46 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

You should not just copy some mq jars. You should rather install the client and then reference everything under <mqinstall>/java/lib.

This way when you need to upgrade the mq libraries you can do it with a minimum disruption to your app.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ Installation/Configuration Support » MQ 6.0.2.4 with Mule ESB 1.3.3
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.