| Author |
Getting a reference to a JMS Queue defined in JBoss AS 7
|
Yogendra Singh Butola
Greenhorn
Joined: Sep 28, 2011
Posts: 12
|
|
Hi All,
Here is my question.
I defined a queue in JBoss, by editing standalone-full.xml, with following entry.
<jms-destinations>
..........
<jms-queue name="myQueue">
<entry name="queue/testOne"/>
<entry name="java:jboss/exported/jms/queue/testOne"/>
</jms-queue>
.........
</jms-destinations>
Then I stared the JBoss server in full standalone mode.
In my java class, I tried to get an access to the above defined queue. Following is the code snippet:
Hashtable<String, String> envmnt = new Hashtable<String, String>();
envmnt.put(Context.PROVIDER_URL, "http://localhost");
envmnt.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory");
jndiContext = new InitialContext(envmnt);
However, I'm getting the following exception:
Could not create JNDI API context: javax.naming.NamingException: Failed to create remoting connection [Root exception is org.jboss.remoting3.UnknownURISchemeException: No connection provider for URI scheme "http" is installed]
Please help, as I've just began learning JMS and would like to move ahead asap.
Regards
Yogi
|
 |
Lucas Smith
Ranch Hand
Joined: Apr 20, 2009
Posts: 804
|
|
Where are you performing JNDI lookup? Is it POJO or managed component? I think that your InitialContext configuration is bad. If you are inside a managed component you can try:
new InitialContext().lookup("....").
|
SCJP6, SCWCD5, OCE:EJBD6.
BLOG: http://leakfromjavaheap.blogspot.com
|
 |
Yogendra Singh Butola
Greenhorn
Joined: Sep 28, 2011
Posts: 12
|
|
I think I didn't put up my question correctly and you are right my initial context is not right. My query is regarding correcting this initial context only. What should I put in the hashtable or properties to get hold of a context where I'll be able to look up for a queue defined in JBoss AS 7.
Thanks
Yogi
|
 |
Yogendra Singh Butola
Greenhorn
Joined: Sep 28, 2011
Posts: 12
|
|
|
And yes this is a POJO.
|
 |
Yogendra Singh Butola
Greenhorn
Joined: Sep 28, 2011
Posts: 12
|
|
Thanks, I got the answer.
Following is the correct way of setting perovider URL:
envmnt.put(Context.PROVIDER_URL, "remote://localhost:4447");
After that you need to provide the credentials (username and password)
Thanks Again
Yogi
|
 |
 |
|
|
subject: Getting a reference to a JMS Queue defined in JBoss AS 7
|
|
|