Hello,
im having trouble with the configuration required to do a lookup of a context
in a Sun One from my web-application that is running inside JBoss. What im
trying to to do is getting a QueueConnectionFactory and a Queue. I have done a
small client application to test the lookups and configuration outside of Jboss
and it works ok, but when running inside Jboss 4.03-sp1 doesn't.
the relevant code snip (with replaced ips and jndi paths)
| Properties env = new Properties();
| env.put("java.naming.factory.initial",
"com.sun.appserv.naming.S1ASCtxFactory");
| env.put("java.naming.provider.url", "iiop://xpto:7000");
| Context jndiContext = null;
| try {
|
| jndiContext = new InitialContext(env);
|
| QueueConnectionFactory connectionFactory =
(QueueConnectionFactory) jndiContext
| .lookup("Path/QueueConnectionFactory");
|
| Queue queue = (Queue) jndiContext.lookup("Path/MessageQueue");
|
| } catch (NamingException e) {
| System.out.println("Could not create JNDI API " + "context: " +
e.toString());
| e.printStackTrace();
| }
i keep getting Path not Bound Exceptions
The problem is that the InitialContext is ignoring the properties i pass to it,
in particular the java.naming.factory.initial, and return to me the local
InitialContext.
I have tried the following:
changed the value of conf/jndi.properties to use
org.jboss.iiop.naming.ORBInitialContextFactory instead of
org.jnp.interfaces.NamingContextFactory but the situation didn't changed.
also tried to use the ExternalContextMBean
| <mbean code="org.jboss.naming.ExternalContext"
| name="jboss.jndi:service=ExternalContext,jndiName=Path/MessageQueue">
| <attribute name="JndiName">external/MessageQueue</attribute>
| <attribute name="CacheContext">true</attribute>
| <attribute name="RemoteAccess">true</attribute>
| <attribute name="Properties">
|
java.naming.factory.initial=com.sun.jndi.cosnaming.CNCtxFactory
| java.naming.factory.host=iiop://xpto
| java.naming.factory.port=7000
| </attribute>
| <attribute
name="InitialContext">javax.naming.InitialContext</attribute>
| </mbean>
|
|
| <mbean code="org.jboss.naming.ExternalContext"
|
name="jboss.jndi:service=ExternalContext,jndiName=Path/QueueConnectionFactory">
| <attribute
name="JndiName">external/QueueConnectionFactory</attribute>
| <attribute name="CacheContext">false</attribute>
| <attribute name="RemoteAccess">true</attribute>
| <attribute name="Properties">
|
java.naming.factory.initial=com.sun.jndi.cosnaming.CNCtxFactory
| java.naming.factory.host=iiop://xpto
| java.naming.factory.port=7001
| </attribute>
| <attribute
name="InitialContext">javax.naming.InitialContext</attribute>
|
| </mbean>
|
and done the lookups by "external/QueueConnectionFactory" but kept getting
external not bound, even thou the jndi view show them:
| +- external (class: org.jnp.interfaces.NamingContext)
| | +- QueueConnectionFactory (class: javax.naming.Context)
| | | +- SerialContextProvider (class:
com.sun.corba.se.internal.iiop.CDRInputStream_1_0$1)
| | | | +- ejb (class: com.sun.jndi.cosnaming.CNCtx)
| | | | | +- mgmt (class: com.sun.jndi.cosnaming.CNCtx)
| | | | | | +- MEJB (class:
com.sun.corba.se.internal.iiop.CDRInputStream_1_0$1)
| | +- MessageQueue (class: javax.naming.Context)
| | | +- SerialContextProvider (class:
com.sun.corba.se.internal.iiop.CDRInputStream_1_0$1)
| | | | +- ejb (class: com.sun.jndi.cosnaming.CNCtx)
| | | | | +- mgmt (class: com.sun.jndi.cosnaming.CNCtx)
| | | | | | +- MEJB (class:
com.sun.corba.se.internal.iiop.CDRInputStream_1_0$1)
| ...
| +- queue (class: org.jnp.interfaces.NamingContext)
| | +- testQueue (class: org.jboss.mq.SpyQueue)
|
Im able to do a lookup on the queue Context and on the testQueue.
How can i set up things to do the lookups?
thank you,
Joao
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3959108#3959108
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3959108
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user