activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Strachan" <james.strac...@gmail.com>
Subject Re: How to define properties for Topics and Queues
Date Fri, 18 May 2007 09:41:52 GMT
On 5/18/07, MarkusJ <Markus.Moeller@desy.de> wrote:
>
>
>
> James.Strachan wrote:
> >
> > On 5/18/07, JohnF <Markus.Moeller@desy.de> 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?
> >
> > --
> > James
> > -------
> > http://macstrac.blogspot.com/
> >
> >
>
> Hello James,
>
> thank you for answer. My hope was, that I can use the topic element of the
> configuration file. I have found the description of the topic element  in
> the reference page . The topic element has got one property called
> 'properties'. The description says: 'Get the properties from this instance
> for storing in JNDI.'.
>
> Is ist not possible to define the JNDI name of the topic at this place? How
> do I have to do it(the format of the entry)?

No. You put object into JNDI; so you can create any JNDI provider and
add ActiveMQTopic and ActiveMQQueue objects to JNDI - in any way you
like. Though a Topic doesn't have a magic way to auto-discover a JNDI
provider and add itself automatically.

I don't really follow your reasoning; there's already a properties
file (the jndi.properties file) which can create destinations &
register them in JNDI - why don't you wanna use it?

-- 
James
-------
http://macstrac.blogspot.com/

Mime
View raw message