You can only look up ejbs using this jndi, and generally you want to
specify a jndi-name in your openejb plan to look them up by.
thanks
david jencks
On Dec 13, 2006, at 11:25 AM, Geronimo User wrote:
Hello:
I'm using Geronimo 1.1.1.
I'm trying to look up a resource in JNDI using
RemoteInitialContextFactory,
from a JUnit test, because I want to do the same eventually from a
stand-alone application.
Following some on-line examples, here is my code.
(The resource path is fictional, because I can't get past what
seems to
be a syntax error in it.)
Properties props = new Properties();
props.put("java.naming.factory.initial",
"org.openejb.client.RemoteInitialContextFactory");
props.put("java.naming.provider.url", "127.0.0.1:4201");
props.put("java.naming.security.principal", "system");
props.put("java.naming.security.credentials", "manager");
Context context = new InitialContext(props);
// This fails; see Geronimo log below.
context.lookup("groupId/artifactId/version/type");
Here is the error caused by the lookup().
It seems that it doesn't like the initial "/" in the URI path?
14:18:22,904 ERROR [JndiRequestHandler] JNDI request error
java.lang.IllegalArgumentException: uri path must be in the form
[groupId]/[artifactId]/[version]/[type] :
/groupId/artifactId/version/type
at org.apache.geronimo.gbean.AbstractNameQuery.<init>
(AbstractNameQuery.java:104)
at org.openejb.ContainerIndex.getContainerIndex
(ContainerIndex.java:208)
at org.openejb.ContainerIndex$$FastClassByCGLIB$
$6674ccb6.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
(FastMethodInvoker.java:38)
at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
(GBeanOperation.java:122)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
(GBeanInstance.java:817)
at org.apache.geronimo.gbean.runtime.RawInvoker.invoke
(RawInvoker.java:57)
at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke
(RawOperationInvoker.java:35)
at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept
(ProxyMethodInterceptor.java:96)
at org.openejb.ContainerIndex$$EnhancerByCGLIB$
$189ca9f6.getContainerIndex(<generated>)
at org.openejb.server.ejbd.JndiRequestHandler.doLookup
(JndiRequestHandler.java:178)
at org.openejb.server.ejbd.JndiRequestHandler.processRequest
(JndiRequestHandler.java:115)
at org.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:
154)
at org.openejb.server.ejbd.EjbServer.service(EjbServer.java:87)
at org.openejb.server.ejbd.EjbServer$$FastClassByCGLIB$
$d379d2ff.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
(FastMethodInvoker.java:38)
at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
(GBeanOperation.java:122)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
(GBeanInstance.java:817)
at org.apache.geronimo.gbean.runtime.RawInvoker.invoke
(RawInvoker.java:57)
at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke
(RawOperationInvoker.java:35)
at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept
(ProxyMethodInterceptor.java:96)
at org.activeio.xnet.ServerService$$EnhancerByCGLIB$
$d5535dbf.service(<generated>)
at org.activeio.xnet.ServicePool$2.run(ServicePool.java:67)
at org.activeio.xnet.ServicePool$3.run(ServicePool.java:90)
at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:
172)
at org.apache.geronimo.pool.ThreadPool
$ContextClassLoaderRunnable.run(ThreadPool.java:289)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run
(Unknown
Source)
How can I go "higher than root" to take the first / off the URI path?
Or do I have the syntaxt of the URI path completely wrong?
Any help appreciated, thanks.