activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Saurabh Thapar (JIRA)" <>
Subject [jira] [Created] (AMQ-5355) Problem in making JNDI connection - Apachive ActiveMQ 5.10.0
Date Sun, 14 Sep 2014 08:53:33 GMT
Saurabh Thapar created AMQ-5355:

             Summary: Problem in making JNDI connection - Apachive ActiveMQ 5.10.0
                 Key: AMQ-5355
             Project: ActiveMQ
          Issue Type: Task
          Components: activemq-pool
    Affects Versions: 5.10.0
         Environment: O.S.: Windows 8 
Apache 5.10.0 release
            Reporter: Saurabh Thapar
             Fix For: 5.10.0

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

I have done the configuration of file as follows:
java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory

# 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:
			<! -- topic name="topic1" physicalName="jms.topic1" / -->
			<queue name="LoanRequestQ" physicalName="jms.LoanRequestQ" />
			<queue name="LoanResponseQ" physicalName="jms.LoanResponseQ" />

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(
	at javax.naming.InitialContext.getDefaultInitCtx(
	at javax.naming.InitialContext.getURLOrDefaultInitCtx(
	at javax.naming.InitialContext.lookup(
	at ch04.p2p.QLender.<init>(
	at ch04.p2p.QLender.main(

Further I enhanced the program to make a set 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(
	at javax.naming.InitialContext.lookup(
	at ch04.p2p.QLender.<init>(
	at ch04.p2p.QLender.main(

This message was sent by Atlassian JIRA

View raw message