JMSJCA is now a java.net project. It can be found here: http://jmsjca.dev.java.net.
The project is currently used in Java CAPS, JMS Grid and the JMS BC as part of the open-jbi-components project.
The connector can be used as a J2EE 1.4 Resource Adapter, but its libraries can also be used as an abstraction layer to JMS servers from non J2EE-code. As such, the adapter acts like a library that hides the complexities of transactions, concurrency, connection failure detection, JMS server implementation idiosyncracies, etc. That is how it is used in the JMS BC as part of the open-jbi-components project.
17 comments:
How does JMSJCA compares with Generic JMS RA (https://genericjmsra.dev.java.net/) which is also made by Sun ? They look quite similar in my opinion.
Hi Ludovic,
The main difference between genericjmsra and jmsjca is that the latter is more feature rich and more specialized towards individual JMS servers. Genericjmsra ships with Glassfish, and jmsjca ships with CAPS. Why did Sun develop two resource adapters? It didn't: genericjmsra has its origin within Sun, and the latter within SeeBeyond. After the aquisition of SeeBeyond, Sun couldn't justify killing one or the other, nor saw it need there for that.
Frank
Hi Frank,
I need some help with the weblogic connector.
The "weblogic connection factory" becomes stale if the weblogic application server is restarted & JMSJCA wrapper cant create connections from the wrapped object factory.
How do I overcome this problem?
thanks
SK
Hi sk,
This will require some code changes to fix that. I'll try to roll in these changes into the next release.
Frank
That would be very nice. Thanks.
I have started using JMSJCA in jboss 4.2.x server to connect a wl 8.1.5 jms provider.
Looking forward to the next release!
Re sk:
The WL adapter no longer caches the connection factories. The code is on java.net and will be available in CAPS 5.2; there are no plans to put this in CAPS 5.1.3u1.
Frank
Re anonymous:
The NPE is due to specifying a null value for the connection URL on the MCF. The latest version of JMSJCA has an explicit check for null.
Frank
I saw JMSJCA.nocfcache in the cvs. :)
Hi Frank,
First, thanks a lot for your quick answer!!!
I am trying - but with no luck to connect to my jms wl (that runs on wl 9.2 server - evaluation edition), Also I am using the following configuration:
In the jms:address section:
connectionURL jndi://
connectionFactoryName javax.jms.QueueConnectionFactory
initialContextFactory weblogic.jndi.WLInitialContextFactory
providerURL t3://localhost:7001
And in the jms:operation:
destination StockTraderJmsServer/TraderBeanQueue (jndi names of jms server & jms queue)
destinationType Queue
transaction NoTransaction
Note (I am using netBeans 6 v10 as my IDE).
Thanks in advance for your great help!!!
Eliad Dahan.
Frank,
I moved my qn to http://forum.java.sun.com/thread.jspa?threadID=5209870.
edit url..
I moved my qn to http://forum.java.sun.com/thread.jspa?threadID=5209870 .
Frank,
I am trying to use JMSJCA in JBoss to be a consumer of a topic that is on a Weblogic JMS Provider. I am not having much luck finding documentation for deploying to JBoss to consume a Weblogic JMS provider. Is this possible through JMSJCA and is there any documentation on howto deploy this type of configuration? Any help would be appreciated.
Thanks,
Jeff
Re Jeff:
Yes, we have a few successful deployments on JBoss. We haven't documented it though. We should be doing that soon, but I can't promise when this will be done.
(And the JBoss documentation is also not very clear on how to deploy a global RA)
If you don't want to wait until we've implemented it, send me an email, I'll send you a deployment descriptor file for JBoss that should give you a good idea of how it's done.
Frank
Hi,
it would be nice to have some JMSJCA samples. I am trying to get JMSJCA to run with Websphere MQ and Geronimo and was stuck for several days in deployment descriptor hell.
Finally I got the Resource Adapter to run, but now on running a message driven bean that should be triggered by the resource adapter, there appear MQ Series errors.
I have a destination property in the bean descriptor, this should suffice, shouldn't it?
Thanks,
Juergen
WARNING: JMSJCA-E016: [serial-QueueReceiver(SampleEventHandler/MQMDB) @ [wmq://mqxs71:1414?QueueManager=XS71&TransportType=1&Channel=XS71.SVRCONN.TCP]]: message delivery initiation failed (attempt #6); will retry in 10 seconds. The error was: javax.jms.InvalidDestinationException: MQJMS2008: failed to open MQ queue
javax.jms.InvalidDestinationException: MQJMS2008: failed to open MQ queue
at com.ibm.mq.jms.MQQueueSession.getQueueOpenException(MQQueueSession.java:816)
at com.ibm.mq.jms.MQQueueSession.createReceiver(MQQueueSession.java:295)
at com.stc.jmsjca.core.RAJMSObjectFactory.createMessageConsumer(RAJMSObjectFactory.java:557)
at com.stc.jmsjca.core.SerialDelivery.start(SerialDelivery.java:110)
at com.stc.jmsjca.core.Activation.asyncStart(Activation.java:528)
at com.stc.jmsjca.core.Activation.access$000(Activation.java:79)
at com.stc.jmsjca.core.Activation$1.run(Activation.java:336)
at java.lang.Thread.run(Thread.java:801)
OK, I got it working (still some working samples would be nice). That's great because genericjmsra would not work for me, as it needs JNDI (does it?), but the RefFSContextFactory would not work in Geronimo.
JMSJCA works fine with Geronimo.
Anyway, I append the interesting parts of geronimo-ra.xml and openejb-jar.xml
<conn:resourceadapter-instance>
<conn:resourceadapter-name>MQRA</conn:resourceadapter-name>
<conn:config-property-setting name="connectionURL">wmq://MYHOST:1414?QueueManager=MYQM&TransportType=JMSC_MQJMS_TP_CLIENT_MQ_TCPIP&Channel=MY.SVRCONN</conn:config-property-setting>
<name:workmanager>
<name:gbean-link>DefaultWorkManager</name:gbean-link>
</name:workmanager>
<conn:adminobject>
<conn:adminobject-interface>
javax.jms.Queue
</conn:adminobject-interface>
<conn:adminobject-class>
com.stc.jmsjca.core.AdminQueue
</conn:adminobject-class>
<conn:adminobject-instance>
<conn:message-destination-name>
ivtQ
</conn:message-destination-name>
</conn:adminobject-instance>
</conn:adminobject>
<enterprise-beans>
<message-driven>
<ejb-name>MQMDB</ejb-name>
<resource-adapter>
<resource-link>MQRA</resource-link>
</resource-adapter>
<activation-config>
<activation-config-property>
<activation-config-property-name>destination</activation-config-property-name>
<activation-config-property-value>MY.PHYSICAL.QUEUE.NAME</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-property-value>
</activation-config-property>
</activation-config>
Hi Frank
Can JMSJCA be used in Jboss 6 to integrate with TIBCO EMS?
Thanks
Tibco EMS: I don't know; I have no experience with that.
Post a Comment