Description: TIBCO MDM 8.3.X server fails to start, throwing the error, "java.lang.ClassNotFoundException" on JBOSS when used with EMS 8.0. Also, the following error is thrown while executing different scripts located in the $MQ_HOME/bin directory, such as MigrateRules, topicChat, datacleanup, textIndexMigration, etc. The following exception will be seen in the thread "main" java.lang.NoClassDefFoundError: javax/jms/JMSContext.
Symptoms: Code: JAV-8001: Unexpected error. Class: 'com.tibco.mdm.infrastructure.globalobj.GlobalObjInitializer' and method name: 'createAndInitObject'. Additional information: java.lang.NoClassDefFoundError: javax/jms/JMSContext.
ID: 0A617962_8AE1F9E23F3CC25E013F3CC25E260000
DATETIME: Thu Jun 13 14:28:58 IST 2013
EXCEPTIONMESSAGE: java.lang.NoClassDefFoundError: javax/jms/JMSContext
STACKTRACE: java.lang.NoClassDefFoundError: javax/jms/JMSContext
at com.tibco.mdm.integration.messaging.queue.tibco.TIBCOClusterLiaison.createConnectionFactory(TIBCOClusterLiaison.java:124)
at com.tibco.mdm.integration.messaging.queue.MqClusterMgr.createConnectionFactory(MqClusterMgr.java:2348)
at com.tibco.mdm.integration.messaging.queue.MqClusterMgr.getConnectionFactory(MqClusterMgr.java:2328)
at com.tibco.mdm.integration.messaging.queue.MqClusterMgr.createClusterDefConnection(MqClusterMgr.java:2187)
at com.tibco.mdm.integration.messaging.queue.MqClusterMgr.createSharedConnInfo(MqClusterMgr.java:1736)
at com.tibco.mdm.integration.messaging.queue.MqClusterMgr.createQueueDefConnRef(MqClusterMgr.java:1676)
at com.tibco.mdm.integration.messaging.queue.MqClusterMgr.getConnection(MqClusterMgr.java:500)
at com.tibco.mdm.integration.messaging.queue.MqMessageEnqueuer.beginSession(MqMessageEnqueuer.java:371)
at com.tibco.mdm.integration.messaging.util.MqMessageSenderManager.init(MqMessageSenderManager.java:646)
at com.tibco.mdm.integration.messaging.util.MqMessageSenderManager.init(MqMessageSenderManager.java:74)
at com.tibco.mdm.util.InitClassUtil.initObject(InitClassUtil.java:728)
at com.tibco.mdm.util.InitClassUtil.createAndInitObject(InitClassUtil.java:556)
at com.tibco.mdm.util.InitClassUtil.createAndInitObject(InitClassUtil.java:462)
at com.tibco.mdm.infrastructure.globalobj.GlobalObjInitializer.createAndInitObject(GlobalObjInitializer.java:163)
at com.tibco.mdm.infrastructure.globalobj.GlobalObjInitializer.init(GlobalObjInitializer.java:72)
at com.tibco.mdm.infrastructure.globalobj.MqStartup.__init(MqStartup.java:213)
at com.tibco.mdm.infrastructure.globalobj.MqStartup.<init>(MqStartup.java:94)
at com.tibco.mdm.infrastructure.globalobj.MqStartup.getInstance(MqStartup.java:276)
at com.tibco.mdm.infrastructure.globalobj.MqStartupWrapper.init(MqStartupWrapper.java:56)
at javax.servlet.GenericServlet.init(GenericServlet.java:242)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3655)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3873)
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
CLASSNAME: com.tibco.mdm.infrastructure.globalobj.GlobalObjInitializer
METHODNAME: createAndInitObject
ERRORMESSAGE: Error initializing global object with properties key prefix: com.tibco.cim.init.AsyncCallQueueSenderManager
<MqException: END>
Cause: This is a symptom of a JVM not picking up the new jms-2.0.jar file in its classpath. EMS 8.0.0 implements JMS 2.0 and it ships with a new jms-2.0.jar instead of the old jms.jar. Also, while executing scripts in $MQ_HOME/bin, the JVM fails to locate jms-2.0.jar in CPATH_COMMON_PRE variable in cpath.bat / cpath.sh script located in the $MQ_HOME/bin directory.