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: javax.naming.NameNotFoundException - JNDI
Date Wed, 25 Apr 2007 06:43:24 GMT
On 4/25/07, tonyc <anthony.cremona@dpworld.com> wrote:
>
> Hi,
>
> I just  downloaded  activeMQ 4.1.1 to learn something about message queues.
> I started the message broker and used example code to run a JMS client.
>
> I tried to follow the instructions in JNDI support to use JNDI names but had
> no luck, I keep getting a  javax.naming.NameNotFoundException error. have
> included the error message below.
>
> I  created a jndi.properties file based on the example shown. have also
> included the contents below.
> I tried placing the jndi.properties file in my own  jar file "jndi.jar"
> which i refer to in the classpath.
> I also placed the jndi.properties in the apache-activemq-4.1.1.jar . I am
> not sure whether the jndi.properties file has
> to be placed in a particular location in the jar. Tried a few things but
> still I keep getting the error message.

Its usually easiest to put the jndi.properties file in a directory
which is on the classpath; but it should be found if its in the root
directory of a jar


> i have also included a java code snippet.
>
> would appreciate any help.
>
>
> thanks
>
> tony
>
> JMS CLIENT CODE SNIPPET:
> =================
>         ConnectionFactory connectionFactory = null;
>         Destination dest = null;
>
>         try {
>             connectionFactory =
>                 (ConnectionFactory) jndiContext.lookup("ConnectionFactory");

Note that this string "ConnectionFactory" is the JNDI name to use -
which you changed to "connectionFactory" in your editted
jndi.properties....


>               } catch (Exception e) {
>             System.out.println("JNDI API lookup for connection failed: " +
> e.toString());
>             e.printStackTrace();
>             System.exit(1);
>         }
>
>         try{
>                 dest = (Destination) jndiContext.lookup(destName);
>         } catch (Exception e) {
>             System.out.println("JNDI API for dest lookup failed: " +
> e.toString());
>             e.printStackTrace();
>             System.exit(1);
>         }
>
>
>
> JNDI PROPERTIES:
> ===========
>
> java.naming.factory.initial =
> org.apache.activemq.jndi.ActiveMQInitialContextFactory
>
> # use the following property to configure the default connector
> java.naming.provider.url = tcp://localhost:61616
>
> # use the following property to specify the JNDI name the connection factory
> # should appear as.
> #jms.ConnectionFactory = ConnectionFactory
> connectionFactoryNames = connectionFactory, queueConnectionFactory,
> topicConnectionFactry

So it looks like you've overloaded what names you want the connection
factory to appear as. If you comment out this line (ie. use the
example jndi.properties file without changing it) your code would work


-- 

James
-------
http://radio.weblogs.com/0112098/

Mime
View raw message