Properties props = new Properties();
props
.setProperty
(Context
.INITIAL_CONTEXT_FACTORY
,"org.apache.activemq.jndi.ActiveMQInitialContextFactory");
props.setProperty(Context.PROVIDER_URL, "tcp://localhost:61616");
InititalContext ic = new InitialContext(props));
QueueConnectionFactory factory = (QueueConnectionFactory)ic.lookup("queueConnectionFactory"); QueueSession jmsSession = jmsConnection.createQueueSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE); Queue jmsqueue = (javax.jms.Queue)ic.lookup("dynamicQueues/" + QUEUE_NAME);


I have the above code working to get a queue that is not defined in my jndi.properties. If I configure the queue in jndi.properties then I don't need the "dynamicQueues/" to proceed QUEUE_NAME. What I'm doing is trying to replace a proprietary JMS server with ActiveMQ. It looks as if this other software makes all of its queues available through the InitialContext. So our existing code finds already existing queues in the JMS server just by doing:

Queue jmsqueue = (javax.jms.Queue)ic.lookup(QUEUE_NAME);

So it would be Very Convenient if I could get ActiveMQ to do the same thing so that we don't have to dredge through our codebase modifying every call to ic.lookup(). Is it possible to get that behavior through an ActiveMQ configuration? If not then I suppose I could modify the ActiveMQ source to prepend "dynamicQueues/" to any queue name it is asked to lookup, but I'd rather not do that if its not necessary.
 Thanks,
  -M@

Reply via email to