You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Jessica (JIRA)" <ji...@apache.org> on 2014/09/14 13:30:42 UTC

[jira] [Commented] (AMQ-5355) Problem in making JNDI connection - Apachive ActiveMQ 5.10.0

    [ https://issues.apache.org/jira/browse/AMQ-5355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14133170#comment-14133170 ] 

Jessica commented on AMQ-5355:
------------------------------

[~QueenHope] 

> Problem in making JNDI connection - Apachive ActiveMQ 5.10.0
> ------------------------------------------------------------
>
>                 Key: AMQ-5355
>                 URL: https://issues.apache.org/jira/browse/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
>              Labels: NameNotFoundException, jndi
>             Fix For: 5.10.0
>
>         Attachments: 204941989715941.jpg
>
>
> I am not 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
> # 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="topic1" physicalName="jms.topic1" / -->
> 			<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 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.java:132)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)