You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by saurabh_d48 <sa...@yahoo.com> on 2014/09/15 12:04:00 UTC

Problem in making JNDI connection - Apachive ActiveMQ 5.10.0

Environment: 

O.S.: Windows 8 
 Apache 5.10.0 release

I am not able to create a jndi connection from my java program despite
specifying all the connection parameters in the jndi.properties and
activemq.xml:

I have done the configuration of jndi.properties file as follows:

 java.naming.factory.initial =
org.apache.activemq.jndi.ActiveMQInitialContextFactory
 java.naming.provider.url=tcp://localhost:61616
 java.naming.security.principal=system
 java.naming.security.credentials=manager
1.use the following property to configure the default connector
 java.naming.provider.url = vm://localhost

#connectionFactoryNames = TopicCF
 #topic.topic1 = jms.topic1

connectionFactoryNames = QueueCF
 queue.LoanRequestQ = jms.LoanRequestQ
 queue.LoanResponseQ = jms.LoanResponseQ

Added the following in activemq.xml:

 <destinations>
 <! – topic name=&quot;topic1&quot; physicalName=&quot;jms.topic1&quot; /
-->
 <queue name="LoanRequestQ" physicalName="jms.LoanRequestQ" />
 <queue name="LoanResponseQ" physicalName="jms.LoanResponseQ" />
 </destinations>

Now, in my Java program, I have the QLender class and I have the following
statements:

Context ctx = new InitialContext();
 ConnectionFactory qCFactory = (ConnectionFactory)ctx.lookup("QueueCF");

I get the following error:
 javax.naming.NoInitialContextException: Need to specify class name in
environment or system property, or as an applet parameter, or in an
application resource file: java.naming.factory.initial
 at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
 at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
 at
javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:344)
 at javax.naming.InitialContext.lookup(InitialContext.java:411)
 at ch04.p2p.QLender.<init>(QLender.java:34)
 at ch04.p2p.QLender.main(QLender.java:134)

Further I enhanced the program to make a set of environment parameters:

 Hashtable env = new Hashtable();
 env.put(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.activemq.jndi.ActiveMQInitialContextFactory");
 env.put(Context.PROVIDER_URL, "http://localhost:61616");
 env.put(Context.SECURITY_PRINCIPAL, "system");
 env.put(Context.SECURITY_CREDENTIALS, "manager");
 Context ctx = new InitialContext(env); 
 ConnectionFactory qCFactory = (ConnectionFactory)ctx.lookup("QueueCF");

On compiling I get the following error:
 javax.naming.NameNotFoundException: QueueCF
 at
org.apache.activemq.jndi.ReadOnlyContext.lookup(ReadOnlyContext.java:235)
 at javax.naming.InitialContext.lookup(InitialContext.java:411)
 at ch04.p2p.QLender.<init>(QLender.java:32)
 at ch04.p2p.QLender.main(QLender




--
View this message in context: http://activemq.2283324.n4.nabble.com/Problem-in-making-JNDI-connection-Apachive-ActiveMQ-5-10-0-tp4685543.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.