activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Strachan" <>
Subject Re: How to define properties for Topics and Queues
Date Fri, 18 May 2007 08:43:05 GMT
On 5/18/07, JohnF <> wrote:
> Hello,
> I tried to use JNDI and the lookup() methode to get a topic for a client.
>             properties = new Hashtable<String, String>();
>             properties.put(Context.INITIAL_CONTEXT_FACTORY,
> "org.apache.activemq.jndi.ActiveMQInitialContextFactory");
>             Context context = new InitialContext(properties);
>             ConnectionFactory connectionFactory =
> (ConnectionFactory)context.lookup("ConnectionFactory");
>             properties.put(Context.PROVIDER_URL, "tcp://localhost:61616");
>            Topic destination = (Topic)context.lookup("NAME_OF_TOPIC");
> It failed and I got the NameNotFoundException. If I added the following
> line, it does work:
>             properties.put("topic.NAME_OF_TOPIC", "NAME_OF_TOPIC");
> I do not want to use a property file that is stored in the classpath. How do
> I have to configure a topic or a queue to avoid defining the Name of the
> destination for JNDI in the code of the client?

You could load the properties file from some remote resource (file
server, web server, database). Or you could use some other JNDI
provider if you want (Sun's or one from your J2EE container) - which
amounts to the same thing but adds tons of work usually.

Or use spring and put the creation of the destinations in your
spring.xml. Or just ditch JNDI/spring entirely and use the JMS API to
create the topics you want?


View raw message