TIBCO BusinessWorks application cannot connect to IBM Websphere MQ and fails with the following exception: java.lang.ClassCastException: javax.naming.Reference cannot be cast to javax.jms.QueueConnectionFactory

TIBCO BusinessWorks application cannot connect to IBM Websphere MQ and fails with the following exception: java.lang.ClassCastException: javax.naming.Reference cannot be cast to javax.jms.QueueConnectionFactory

book

Article ID: KB0085185

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks -
Not Applicable -

Description

Resolution:
When BW tries to connect to IBM MQ, the following exception is thrown:

====================================================
caused by: Could not create connection with JMS server.[   Queue Connection Factory = TBWQCF
   JNDI Context URL = file:/opt/tibco/tibprd01/data/tra/domain/PRD01/jndi
   JNDI Context Factory = com.sun.jndi.fscontext.RefFSContextFactory]
    at com.tibco.plugin.share.jms.impl.JMSUtils.doRecovery(JMSUtils.java:35)
    at com.tibco.plugin.share.jms.impl.JMSSender.init(JMSSender.java:95)
    at com.tibco.plugin.jms.JMSAbstractTransmitActivity.init(JMSAbstractTransmitActivity.java:136)
    at com.tibco.pe.core.TaskImpl.init(TaskImpl.java:307)
    at com.tibco.pe.core.WorkflowBuilder.a(WorkflowBuilder.java:232)
    at com.tibco.pe.core.WorkflowBuilder.build(WorkflowBuilder.java:145)
    at com.tibco.pe.core.WorkflowLoader.setWorkflows(WorkflowLoader.java:113)
    at com.tibco.pe.core.WorkflowLoader.loadWorkflows(WorkflowLoader.java:86)
    at com.tibco.pe.core.JobPoolConfigurator.a(JobPoolConfigurator.java:192)
    at com.tibco.pe.core.JobPoolConfigurator.do(JobPoolConfigurator.java:100)
    at com.tibco.pe.core.JobPool.<init>(JobPool.java:313)
    at com.tibco.pe.core.JobPoolCreator.init(JobPoolCreator.java:81)
    at com.tibco.pe.core.JobPoolCreator.<init>(JobPoolCreator.java:73)
    at com.tibco.pe.PEMain.do(PEMain.java:386)
    at com.tibco.pe.PEMain.a(PEMain.java:197)
    at com.tibco.pe.PEMain.<init>(PEMain.java:184)
    at com.tibco.pe.PEMain.main(PEMain.java:122)

caused by: java.lang.ClassCastException: javax.naming.Reference cannot be cast to javax.jms.QueueConnectionFactory
        at com.tibco.plugin.share.jms.impl.SharedConnection.getQCF(SharedConnection.java:160)
        at com.tibco.plugin.share.jms.impl.SharedConnection.createQueueConnection(SharedConnection.java:172)
        at com.tibco.plugin.share.jms.impl.SharedConnection.createConnection(SharedConnection.java:415)
        at com.tibco.plugin.share.jms.impl.JMSPluginImplementation.getConnectionKey(JMSPluginImplementation.java:203)
        at com.tibco.plugin.share.jms.impl.JMSSender.init(JMSSender.java:110)
        at com.tibco.plugin.jms.JMSAbstractTransmitActivity.init(JMSAbstractTransmitActivity.java:136)
        at com.tibco.pe.core.TaskImpl.init(TaskImpl.java:339)
        at com.tibco.pe.core.WorkflowBuilder.buildGroup(WorkflowBuilder.java:254)
       at com.tibco.pe.core.WorkflowBuilder.build(WorkflowBuilder.java:167)
        at com.tibco.pe.core.WorkflowLoader.setWorkflows(WorkflowLoader.java:116)
        at com.tibco.pe.core.WorkflowLoader.loadWorkflows(WorkflowLoader.java:89)
        at com.tibco.pe.core.JobPoolConfigurator.completeStartup(JobPoolConfigurator.java:223)
        at com.tibco.pe.core.JobPoolConfigurator.configureJobPool(JobPoolConfigurator.java:117)
        at com.tibco.pe.core.JobPool.<init>(JobPool.java:349)
        at com.tibco.pe.core.JobPoolCreator.init(JobPoolCreator.java:83)
        at com.tibco.pe.core.JobPoolCreator.<init>(JobPoolCreator.java:75)
        at com.tibco.pe.PEMain.init(PEMain.java:430)
        at com.tibco.pe.PEMain.init(PEMain.java:254)
        at com.tibco.pe.PEMain.pemain(PEMain.java:205)
        at com.tibco.pe.PEMain.<init>(PEMain.java:192)
        at com.tibco.pe.PEMain.main(PEMain.java:130)
==================================================== 

Missing MQ JAR files in the BW classpath. Double check if <MQ_HOME>/Java/lib has been added to CUSTOM_EXT_PREPEND_CP in the tra file.

Issue/Introduction

TIBCO BusinessWorks application cannot connect to IBM Websphere MQ and fails with the following exception: java.lang.ClassCastException: javax.naming.Reference cannot be cast to javax.jms.QueueConnectionFactory