There is no jbossmq.rar
jms-ra.rar is a generic rar for deploying *ANY* jms implementation into JBossAS
If you want to make it into a generic rar for *ANY* jms implemenation into *ANY* Application Sever, you would need to remove the dependencies on JBoss/JCA,
like that JBossResourceException.
You would also need to replace the usage of the jms provider adapter
from org.jboss.jms in the server module and replace it with some JCA1.5 admin objects
for whichever jms provider you want to integrate.
Thanks for clearing up some of my confusion. What I am looking for is a jbossmq.rar then. I want to integrate JBoss JMS implementation into the SIP application server using JCA. As you pointed out I don't think jms-ra.rar is relevant to this task.
With the activemq-ra-2.1.rar I just used JCA to load it into the SIP application server and configured the URL to point at an ActiveMQ server instance. I was hoping for an equivalent JBoss rar because our tests showed JBoss was more reliable than ActiveMQ.
Any road map for such a JBoss JMS rar? Any thoughts on how hard it would be for me to create one?
Thank you very much for replying so quickly.
I guess I could follow your directions and modify jms-ra.rar to incorporate JBoss JMS. Still interested in a road map though.
Raise a feature request in JIRA or even better provide a patch.
I have a JBossMQ.rar that I built out of jms-ra.rar but it is just a thin wrapper around jbossmq-client.jar. Since you are redoing JBossMQ anyway I will raise a feature request for the new development to keep JCA in mind.
I'm having problems with multiple class loaders:
Properties environment = new Properties(); environment.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); environment.put("java.naming.provider.url", jnpUrl); environment.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces"); NamingContextFactory contextFactory = new NamingContextFactory(); NamingContext jndiContext = (NamingContext) contextFactory.getInitialContext(environment); Object o = jndiContext.lookup("ConnectionFactory");
When this code runs within my resource loader it does not use Thread.currentThread().getContextClassLoader() to find the supporting classes it needs. So even though jboss-common-client.jar and jbossmq-client.jar are in the rar file it cannot access it. Is there a way around this problem?
Moderated: You should ask your application server provider.
Just a warning for others attempting to follow this path for creating a JBossMQ.rar. The jms-ra.rar code's ManagedConnection.getConnection returns a session object!