users@jmsjca.java.net

Re: JMSJCA, CAPS 6.2, WebSphere MQ 7

From: ioj <tex_at_tinspoon.net>
Date: Mon, 02 Nov 2009 19:30:56 +0100

Hi!

Yes, that's exactly what I tried to do; our developers are chummy with
STCMS and GF MQ; but for some applications we in ops would rather use
WMQ. Hence this. And we need WMQ >= 7.0.1 (multi-instance queue managers).


Our company's merely an IBM customer; the other way I know of to get WMQ
is the 90 day trial :)
I'll check with IBM on this; perhaps Sun already has some partnership or
agreement with IBM?


Yep, I'm in contact with Jason, and bug him from time to time.


I have access to test systems with WMQ and GF (CAPS only, not OpenESB)
running on RHEL and AIX. And time too.


No problem with moving to OpenESB-users; I just considered this to be
very JMSJCA-specific.


Apart from explicit WMQ7 support (which would be very nice, as WMQ has
become much more JMS-like since v6), how would one go about setting up
naked factories?



/sysprv


Frank Kieviet wrote:
> Hi sysprv,
>
> From what you're describing it looks like you're deploying the IBM RAR into
> GlassFish, then bind its connection factories into JNDI, and then use JMSJCA
> to look them up.
>
> If that's the case, the issue with that is that the RAR has a lot of
> functionality to start/stop transactions, participate in connection pooling
> etc. To the application, the RAR exposes only application connection
> factories. In practical terms, these are non-XA connection factories. In
> other words, the factories that the RAR exposes to the application are
> wrappers around the "naked" connection factories, and these wrappers add a
> lot of functionality.
>
> What JMSJCA needs are the "naked" connection factories. What I mean with
> that are the factories that provide a direct line of communication between
> the calling code and the JMS server, of course all using the JMS api.
>
> So, to make it work with JNDI, you would have to instantiate the WMQ "naked"
> factories, bind them into JNDI (e.g. a file provider if WMQ 7 did not any
> new facilities such as a built-in JNDI server), and use those in JMSJCA.
>
> We're looking into adding explicit support for WMQ7. First issue we ran into
> is how to get a copy of WMQ7. Do you know by any chance?
>
> BTW, are you in contact with Jason Baragry?
>
> One more thing: would you mind if we move this discussion to the OpenESB
> users list?
>
> Frank
>
> Frank Kieviet
> Senior Staff Engineer, SOA/BI
> Sun Microsystems, Monrovia, CA
> Tel +1 626 471 6322
> Blog: http://frankkieviet.blogspot.com/
>
>
>
>> -----Original Message-----
>> From: ioj [mailto:tex_at_tinspoon.net]
>> Sent: Monday, November 02, 2009 08:44
>> To: users_at_jmsjca.dev.java.net
>> 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;_Threa
>> dName=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=JMSJC
>> A
>> 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(RAJNDIObje
>> ctFactory.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
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jmsjca.dev.java.net
> For additional commands, e-mail: users-help_at_jmsjca.dev.java.net
>