On Jan 5, 2007, at 10:35 AM, Carragher Jr, Richard wrote:
> Ok, user error. I was looking up the jndi name from a property file,
> and the property file had the name in quotes (""). That explains that
> problem. However, now I'm getting this one:
Unfortunately I have no idea about this one, maybe an openejb person
can figure it out. One thing that looks different from what I
remember seeing is it looks like you might be using tcp v6
addresses. At one point I had problems getting geronimo to start on
a linux machine with some v6 support enabled: I "solved" the problem
by using a different machine.
david jencks
>
> 10:30:23,843 ERROR [JndiRequestHandler] Failed to write to
> JNDIResponse
> java.net.SocketException: Broken pipe
> at java.net.SocketOutputStream.socketWrite0(Native Method)
> at
> java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
> at
> java.net.SocketOutputStream.write(SocketOutputStream.java:157)
> at
> java.io.ObjectOutputStream$BlockDataOutputStream.drain
> (ObjectOutputStrea
> m.java:1733)
> at
> java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode
> (Object
> OutputStream.java:1642)
> at
> java.io.ObjectOutputStream.writeNonProxyDesc
> (ObjectOutputStream.java:120
> 0)
> at
> java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java:
> 1131)
> at
> java.io.ObjectOutputStream.writeOrdinaryObject
> (ObjectOutputStream.java:1
> 332)
> at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1083)
> at
> java.io.ObjectOutputStream.writeFatalException
> (ObjectOutputStream.java:1
> 449)
> at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:312)
> at
> org.openejb.client.EJBMetaDataImpl.writeExternal
> (EJBMetaDataImpl.java:18
> 5)
> at
> org.openejb.client.JNDIResponse.writeExternal(JNDIResponse.java:203)
> at
> org.openejb.server.ejbd.JndiRequestHandler.processRequest
> (JndiRequestHan
> dler.java:131)
> 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
> (<ge
> nerated>)
> at
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java(Inlined
> Compiled
> Code))
> at
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
> (FastMethodInv
> oker.java(Compiled Code))
> at
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
> (GBeanOperation.j
> ava(Inlined Compiled Code))
> at
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
> (GBeanInstance.jav
> a(Compiled Code))
> at
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java
> (Inli
> ned Compiled Code))
> at
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke
> (RawOperation
> Invoker.java(Compiled Code))
> at
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept
> (ProxyM
> ethodInterceptor.java(Compiled Code))
> at
> org.activeio.xnet.ServerService$$EnhancerByCGLIB$$bffe4aa3.service
> (<gene
> rated>)
> 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
> (Threa
> dPool.java:289)
> at
> EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
> Source)
> at java.lang.Thread.run(Thread.java:568)
> 10:30:23,846 ERROR [EjbDaemon] 0:0:0:0:0:0:0:1 "JNDI_REQUEST OEJP/2.0"
> FAIL "Broken pipe"
>
> Any thoughts?
>
>
> Thanks,
> Rick Carragher
> Senior Architect
> Store and Multi-Channel
> SAP AG
> 311 Sinclair Rd.
> Bristol, PA. 19007
> T +1(215)785-4321x425
> mailto:richard.carragher.jr@sap.com
> www.sap.com
>
>
> -----Original Message-----
> From: David Jencks [mailto:david_jencks@yahoo.com]
> Sent: Friday, January 05, 2007 9:52 AM
> To: user@geronimo.apache.org
> Subject: Re: JNDI Access Problem
>
>
> On Jan 5, 2007, at 9:04 AM, Carragher Jr, Richard wrote:
>
>> David, Thanks for the response. I'll try to debug it - I'm assuming
>> there's no log statements, and you would like me to run it in a
>> debugger?
>
> Either that or add some logging statements and recompile. I suspect
> the debugger might be simpler.
>>
>> Another thought that I had, is it possible to look at the JNDI
>> tree, to
>> verify that my ejb is deployed properly?
>
> I don't know of any tools that would let you look.
>> And also, I don't have a
>> geronimo-application.xml deployed with my ear. Could that have
>> anything
>> to do with it? (I couldn't find any examples that met what we do in
>> this app).
>
> I can't think of a way this could cause the problem you are seeing,
> but my imagination might be limited.
>
> thanks
> david jencks
>
>>
>> Thanks,
>> Rick
>> On Jan 4, 2007, at 8:03 PM, Carragher Jr, Richard wrote:
>>
>>>> Hi,
>>>>
>>>> I'm trying to deploy a non-j2ee application client connecting to a
>>>> stateless session bean in Geronimo 1.1. This seems simple, and it
>>>> has worked without changes on WebSphere, Jboss, and WebLogic, so
>>> I'm pretty sure that I m setting something up in Geronimo
>>> incorrectly.
>>>
>>>
>>> In open-ejb-jar.xml, I have the following snippet:
>>>
>>> <session>
>>> <ejb-name>Controller</ejb-name>
>>> <jndi-name>awc</jndi-name>
>>> <local-jndi-name>ControllerLocal</local-jndi-name>
>>> <gernaming:resource-ref>
>>> <gernaming:ref-name>jdbc/datasourceUri</
>>> gernaming:ref-name>
>>> <gernaming:resource-link>jdbc/
>>> transactionwareDataSource</gernaming:resource-link>
>>> </gernaming:resource-ref>
>>> </session>
>>>
>>> My client has the following properties setup:
>>> java.naming.factory.initial=org.openejb.client.RemoteInitialContextF
>>> a
>
>>> c
>>
>>> tory
>>> java.naming.provider.url=localhost:4201
>>> java.naming.security.principal=system
>>> java.naming.security.credentials=manager
>>> And the client lookup code is pretty straightforward:
>>> InitialContext jndiContext = new InitialContext(env);
>>> Object ref = jndiContext.lookup("awc");
>>> ControllerRemoteHome home = (ControllerRemoteHome)
>>> PortableRemoteObject.narrow(ref, ControllerRemoteHome.class);
>>> Here's the exception I get in geronimo.out:
>>> 19:46:54,233 ERROR [JndiRequestHandler] JNDI request error
>>> java.lang.IllegalArgumentException
>>> at java.net.URI.create(URI.java:859)
>>> at org.openejb.ContainerIndex.getContainerIndex
>>> (ContainerIndex.java:207)
>>> at org.openejb.ContainerIndex$$FastClassByCGLIB$
>>> $6674ccb6.invoke(<generated>)
>>> at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java
>>> (Inlined Compiled Code))
>>> at
>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
>>> (FastMethodInvoker.java(Compiled Code))
>>> at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
>>> (GBeanOperation.java(Inlined Compiled Code))
>>> at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
>>> (GBeanInstance.java(Compiled Code))
>>> at org.apache.geronimo.gbean.runtime.RawInvoker.invoke
>>> (RawInvoker.java(Inlined Compiled Code))
>>> at
>>> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke
>>> (RawOperationInvoker.java(Compiled Code))
>>> at
>>> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept
>>> (ProxyMethodInterceptor.java(Compiled Code))
>>>
>>> at org.openejb.ContainerIndex$$EnhancerByCGLIB$
>>> $2edf4a7f.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
>>> (Inlined Compiled Code))
>>> at
>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
>>> (FastMethodInvoker.java(Compiled Code))
>>> at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
>>> (GBeanOperation.java(Inlined Compiled Code))
>>> at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
>>> (GBeanInstance.java(Compiled Code))
>>> at org.apache.geronimo.gbean.runtime.RawInvoker.invoke
>>> (RawInvoker.java(Inlined Compiled Code))
>>> at
>>> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke
>>> (RawOperationInvoker.java(Compiled Code))
>>> at
>>> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept
>>> (ProxyMethodInterceptor.java(Compiled Code))
>>>
>>> at org.activeio.xnet.ServerService$$EnhancerByCGLIB$
>>> $eb95fe48.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)
>>> at java.lang.Thread.run(Thread.java:568)
>>> Caused by: java.net.URISyntaxException: Illegal character in path
>>> at index 1: /"awc"
>>> at java.net.URI$Parser.fail(URI.java:2764)
>>> at java.net.URI$Parser.checkChars(URI.java(Inlined Compiled
>>> Code))
>>> at java.net.URI$Parser.parseHierarchical(URI.java(Compiled
>>> Code))
>>> at java.net.URI$Parser.parse(URI.java(Compiled Code))
>>> at java.net.URI.<init>(URI.java:595)
>>> at java.net.URI.create(URI.java:857)
>>> ... 29 more
>>> I've tried all variations of the jndi name in my client, but none
>>> seem to work. Any thoughts or ideas?
>>
>> I dont see anything wrong with your setup. The lookup should have
>> succeeded in line 175 of JndiRequestHandler. Is there any chance you
>> could debug the call to ContainerIndex.getContainerIndexByJndiName
>> and see what is in jndiNameToIndex and what the jndi name parameter
>> is ?
>>
>> Wish I could help better
>> david jencks
>>
>>> Thanks,
>>> Rick Carragher
>>>
>
|