It used to be that MQ did not support XA outside of WebSphere (something that I tried to get working in a Tomcat/JOTM/MQ configuration). I'm not sure that that is still the case or not but there is a bit of history on that.
Brian
----- Original message -----
From: "ioj" <tex_at_tinspoon.net>
To: users_at_jmsjca.dev.java.net
Date: Mon, 02 Nov 2009 17:44:07 +0100
Subject: JMSJCA, CAPS 6.2, WebSphere MQ 7
Hi Frank :)
Configured a JMSJCA-driven JCD in jndi:// mode to connect to a WebSphere
MQ 7 queue; Getting this error:
[#|2009-11-02T17:09:55.496+0100|INFO|sun-appserver2.1|javax.enterprise.system.core.classloading|_ThreadID=18;_ThreadName=httpWorkerThread-4848-4;dpJMSJCATest_1_0_0;|LDR5010:
All ejb(s) of [dpJMSJCATest_1_0_0] loaded successfully!|#]
[#|2009-11-02T17:09:55.498+0100|WARNING|sun-appserver2.1|com.stc.jmsjca.core.Activation|_ThreadID=25;_ThreadName=JMSJCA
connect;Context=TestProjects |
prjJMSJCATest/svcJMSJCATest/qJMSJCATestIN;_RequestID=07fb37e9-63b3-4015-a035-dcc50c47ac93;|JMSJCA-E016:
[serial-QueueReceiver(QJMSJCATEST){TestProjects |
prjJMSJCATest/svcJMSJCATest/qJMSJCATestIN} @ [jndi://]]: message
delivery initiation failed (attempt #1); will retry in 1 seconds. The
error was: com.ibm.mq.connector.outbound.QueueConnectionFactoryImpl
cannot be cast to javax.jms.XAQueueConnectionFactory
java.lang.ClassCastException:
com.ibm.mq.connector.outbound.QueueConnectionFactoryImpl cannot be cast
to javax.jms.XAQueueConnectionFactory
at
com.stc.jmsjca.jndi.RAJNDIObjectFactory.createConnectionFactory(RAJNDIObjectFactory.java:208)
at com.stc.jmsjca.core.SerialDelivery.start(SerialDelivery.java:74)
at com.stc.jmsjca.core.Activation.asyncStart(Activation.java:552)
at com.stc.jmsjca.core.Activation.access$000(Activation.java:81)
at com.stc.jmsjca.core.Activation$1.run(Activation.java:347)
at java.lang.Thread.run(Thread.java:619)
|#]
Details:
I've installed and configured the WMQ 7 RA from IBM in GlassFish
Enterprise v2.1 Patch 02. The IVT (installation verification test) app
from IBM runs fine and passes all tests.
Next, I have the simplest message driven JCD you can think of: it reads
a TextMessage using JMSJCA and writes the Text to the server.log. Works
fine with GlassFish MQ.
Then I have a connector connection pool of type QueueConnectionFactory,
using the IBM RA, configured for XA (Transaction Support: XATransaction)
When I configure JMSJCA (inside GF, with the Env overrides in CAPS 6.x)
with:
Connection URL: jndi://
JMSJCA.NoXA=false
JMSJCA.QueueCF=jms/wmq/xa/qcf
and enable the JCD, I get the message above.
I've made sure that the MQ transaction support jar is available to the
appserver etc. etc. (the IVT passes all tests incl. transactions -
though it's much simpler than a JCD with JMSJCA +)
What's going wrong here, and how can it be fixed?
Thanks in advance!
/sysprv
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_jmsjca.dev.java.net
For additional commands, e-mail: users-help_at_jmsjca.dev.java.net