Hi all, I'm working with an existing web application (running in Tomcat 7.0.26) that normally communicates with external systems over IBM WebsphereMQ, via the JMS API. The code looks similar to:
Hashtable<String, String> env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, initialContextFactory); env.put(Context.PROVIDER_URL, providerURL); // Note that this is instantiating an InitialDirContext, // NOT an InitialContext!!! Context context = new InitialDirContext(environment); qcf = (QueueConnectionFactory)context.lookup(qcfName); requestQueue = (Queue)context.lookup(requestQueueName); responseQueue = (Queue)context.lookup(responseQueueName); //... etc, usual type of JMS code I'm now trying to make this work with ActiveMQ 5.10 client libraries. A restriction on my end is that I cannot modify the source code. The only thing I have to play with are the variables as shown in the above code: - initialContextFactory is in the current case always set to com.sun.jndi.fscontext.RefFSContextFactory - providerURL is currently set to a file://C:/directory URL, pointing to a .bindings file as generated by "Managed JMS Objects" from WebsphereMQ Explore - requestQueueName & responseQueueName I'm now changing initialContextFactory to org.apache.activemq.jndi.ActiveMQInitialContextFactory, and providerURL to tcp://localhost:61616. Although I'm not getting any errors from the code, it doesn't work. I cannot see any connection in the ActiveMQ Web Admin console. Unfortunately I also cannot run this in a debugger to see what's going on :( Researching on the web, I see that normally ActiveMQ JNDI with Tomcat is set up differently: - Resource entries in context.xml - Create the InitialContext as new InitialContext(); - get a 'sub context' as envContext = (Context) initCtx.lookup("java:comp/env"); - Get the JMS objects from this sub context (using a "jms/" prefix) But as I wrote before, this is not an option for me: although I have access to the code, I cannot modify it. Does anybody know a way around this? How can I get ActiveMQ QueueConnectionFactory/Queue objects from an instance of InitialDirContext, initialized only with INITIAL_CONTEXT_FACTORY and PROVIDER_URL, and presumably without any additional configuration on the Tomcat side (although if necessary I do have the option of changing the tomcat config as well). Maarten -- View this message in context: http://activemq.2283324.n4.nabble.com/ActiveMQ-5-10-client-in-Tomcat-7-with-InitialDirContext-tp4695248.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.