activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anthrope ...@anthrope.com>
Subject Re: javax.naming.NameNotFoundException - JNDI
Date Wed, 25 Apr 2007 23:13:57 GMT

Could it also be because you're trying to look up ConnectionFactory, whereas
you've defined an entry in your jndi.properties called connectionFactory? I
do believe the names are case-sensitive.

Prashanth


James.Strachan wrote:
> 
> 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/
> 
> 

-- 
View this message in context: http://www.nabble.com/javax.naming.NameNotFoundException---JNDI-tf3643462s2354.html#a10191527
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Mime
View raw message