users@glassfish.java.net

Re: wmq.jmsra.rar IBM MQ resource adaptor glassfish MDB deploy problem

From: <glassfish_at_javadesktop.org>
Date: Sun, 14 Feb 2010 19:27:09 PST

----------------------------------------fix -------------------------------------------------------------------

My adaptor works if I switch transactions off....I expect it will work with transactions after I deploy the WebSphere MQ Extended Transaction package (mqs530.img containing solaris package, mqm-txcli and jar file com.ibm.mqetclient.jar).

I cast a wide solution net in hand writing my deployment descriptors and am not convinced entire solution is necessary to overcome MDB deploymnet issue.

I STILL HAVE A QUESTION ABOUT WHY MY ANNOTATED MDB DOES NOT DEPLOY AND WHAT OF MY SOLUTION FIXED IT AND HOW BEST TO FIX IT IN FUTURE.

Do I only need a custom sun-ejb-jar with the following in order to fix annoted MDB deployment
<mdb-resource-adaptor>
    <resource-adapter-mid>wmqjmsra</resource-adapter-mid>
</mdb-resource-adaptor>

The rest may be unnecessary.

After disabling transaction and hand writing a ejb-jar.xml and sun-ejb.jar.xml I now get following logs showing successful connection on deploying my application ...
[#|2010-02-15T12:10:04.587+1000|INFO|sun-appserver2.1|javax.enterprise.resource.resourceadapter|_ThreadID=27;_ThreadName=httpSSLWorkerThread-4848-12;|[15/02/10 12:10:04:587 EST.0] httpSSLWorkerThread-4848-12 Final tree:Root : com.ibm.mq.connector.TreeElt_at_1cc5477 with contents of com.ibm.mq.connector.ResourceAdapterConnectionPool_at_1bd6c38
Leaves: [com.ibm.mq.connector.TreeElt_at_1cfb589 with contents of com.ibm.mq.connector.ConnectionUsageTuple_at_5f15c3 containing connection com.ibm.mq.jms.MQConnection_at_8df4ff and usage 1]
Nodes : [com.ibm.mq.connector.TreeElt_at_1cc5477 with contents of com.ibm.mq.connector.ResourceAdapterConnectionPool_at_1bd6c38, com.ibm.mq.connector.TreeElt_at_10c0ef9 with contents of javax.jms.Queue:RAA.QUEUE_at_RNESSLQM@192.55.555.55, com.ibm.mq.connector.TreeElt_at_aafeff with contents of com.ibm.mq.jms.MQConnectionFactory_at_ec9edbc8, com.ibm.mq.connector.TreeElt_at_1cfb589 with contents of com.ibm.mq.connector.ConnectionUsageTuple_at_5f15c3 containing connection com.ibm.mq.jms.MQConnection_at_8df4ff and usage 1]

node 'com.ibm.mq.connector.TreeElt_at_1cc5477 with contents of com.ibm.mq.connector.ResourceAdapterConnectionPool_at_1bd6c38', depth 0 , 1 children [com.ibm.mq.connector.TreeElt_at_10c0ef9 with contents of javax.jms.Queue:RAA.QUEUE_at_RNESSLQM@192.55.555.55]
node 'com.ibm.mq.connector.TreeElt_at_10c0ef9 with contents of javax.jms.Queue:RAA.QUEUE_at_RNESSLQM@192.55.555.55', depth 1 , 1 children [com.ibm.mq.connector.TreeElt_at_aafeff with contents of com.ibm.mq.jms.MQConnectionFactory_at_ec9edbc8]
node 'com.ibm.mq.connector.TreeElt_at_aafeff with contents of com.ibm.mq.jms.MQConnectionFactory_at_ec9edbc8', depth 2 , 1 children [com.ibm.mq.connector.TreeElt_at_1cfb589 with contents of com.ibm.mq.connector.ConnectionUsageTuple_at_5f15c3 containing connection com.ibm.mq.jms.MQConnection_at_8df4ff and usage 1]
node 'com.ibm.mq.connector.TreeElt_at_1cfb589 with contents of com.ibm.mq.connector.ConnectionUsageTuple_at_5f15c3 containing connection com.ibm.mq.jms.MQConnection_at_8df4ff and usage 1', depth 3 , no children
|#]
[#|2010-02-15T12:10:04.590+1000|INFO|sun-appserver2.1|javax.enterprise.resource.resourceadapter|_ThreadID=27;_ThreadName=httpSSLWorkerThread-4848-12;|[15/02/10 12:10:04:590 EST.0] httpSSLWorkerThread-4848-12 acquired Connection: com.ibm.mq.jms.MQConnection_at_8df4ff|#]
[#|2010-02-15T12:10:04.718+1000|INFO|sun-appserver2.1|javax.enterprise.resource.resourceadapter|_ThreadID=27;_ThreadName=httpSSLWorkerThread-4848-12;|[15/02/10 12:10:04:718 EST.0] httpSSLWorkerThread-4848-12 created Destination: queue:///RAA.QUEUE|#]
[#|2010-02-15T12:10:05.873+1000|INFO|sun-appserver2.1|javax.enterprise.resource.resourceadapter|_ThreadID=27;_ThreadName=httpSSLWorkerThread-4848-12;|[15/02/10 12:10:05:872 EST.0] httpSSLWorkerThread-4848-12 created ConnectionConsumer: com.ibm.mq.jms.MQConnectionConsumer_at_193e477|#]
[#|2010-02-15T12:10:05.876+1000|INFO|sun-appserver2.1|javax.enterprise.resource.resourceadapter|_ThreadID=27;_ThreadName=httpSSLWorkerThread-4848-12;|[15/02/10 12:10:05:875 EST.0] httpSSLWorkerThread-4848-12 starting connection|#]
[#|2010-02-15T12:10:06.110+1000|INFO|sun-appserver2.1|javax.enterprise.resource.resourceadapter|_ThreadID=27;_ThreadName=httpSSLWorkerThread-4848-12;|[15/02/10 12:10:06:110 EST.0] httpSSLWorkerThread-4848-12 Endpoint javax.jms.Queue:RAA.QUEUE_at_RNESSLQM@192.55.555.55 activated|#]
[#|2010-02-15T12:10:06.155+1000|INFO|sun-appserver2.1|javax.enterprise.system.core.classloading|_ThreadID=27;_ThreadName=httpSSLWorkerThread-4848-12;RaaRneLdapListner;|LDR5010: All ejb(s) of [RaaRneLdapListner] loaded successfully!|#]

And I can see it consuming messages that I write to the queue using MQExplorer. I am in the process of fully testing with test messages.


To get it working without Extended Transaction support, I switched transactions off using:-

1) using java transaction annotation NotSupported

i.e. @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) // suspends transaction during execution
public class RaaRequestMDB implements MessageListener

2) setting no transaction option when create connection factory
(--transactionsupport NoTransaction when I use Glashfish asadmin create-connector-connection-pool)


Does any one know where I get IBM MQ6 Extended Transaction Support package for solaris 10?

Also should I be using genericra instead anyway. Have most MQ deployment from glashfish used the genericra to date? Having overcome deployment challenges with IBM Resource Adaptor, should I stick with it or evaluate genericra?
[Message sent by forum member 'kennwoods' (ken.woods_at_digitalidols.com)]

http://forums.java.net/jive/thread.jspa?messageID=386688