You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Linda77 <sn...@gmail.com> on 2009/02/20 03:55:21 UTC

ejb Couldn't write EjbResponse to output stream

Hello,
    When I run my j2ee module on Geronimo2.0.2, I met some failure. My j2ee
Module can run successfuly on Geronimo2.0M6.

    On Geronimo2.0M6,I lookup JNDI like this: ref =
jndiContext.lookup(artifactId + "/" + bean + "/" + beanInterface);
The JNDI format according by {moduleId}+{beanName}/{BeanRemoteClass}

    Without any change, I run j2ee module on Geronimo2.0.2, however it
cannot lookup JNDI.So I change the JNDI format like this:  ref =
jndiContext.lookup(bean + "RemoteHome" ); It can returen "ref", but another
exception is thrown:
15:41:12,992 FATAL [ejb] Couldn't write EjbResponse to output stream
java.net.SocketException: Broken pipe
	at java.net.SocketOutputStream.socketWrite0(Native Method)
	at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
	at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
	at
java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1685)
	at
java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1594)
	at
java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java:1173)
	at java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java:1127)
	at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
	at
java.io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java:1398)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:305)
	at
org.apache.openejb.client.EJBResponse.writeExternal(EJBResponse.java:111)
	at
org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:196)
	at
org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
	at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
	at org.apache.openejb.server.ServiceLogger.service(ServiceLogger.java:73)
	at
org.apache.openejb.server.ServiceAccessController.service(ServiceAccessController.java:55)
	at org.apache.openejb.server.ServiceDaemon$1.run(ServiceDaemon.java:117)
	at java.lang.Thread.run(Thread.java:595)
15:41:12,993 ERROR [remote] "EJB_REQUEST OEJP/3.0" FAIL "Broken pipe"

I have spent so much time on it, but  nothing is changed. Now I totally have
no idea on it.
Waiting for someone show me how to get onto the right way.
Thanks in advance!

Linda
-- 
View this message in context: http://www.nabble.com/ejb-Couldn%27t-write-EjbResponse-to-output-stream-tp22113948s134p22113948.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: ejb Couldn't write EjbResponse to output stream

Posted by David Jencks <da...@yahoo.com>.
On Feb 24, 2009, at 6:37 PM, Linda77 wrote:

>
>
> Ok, I will introduce the java application which is used to test xhive
> database's some function.
>
> The application contains a resource adapter, junitejb.jar, and my  
> ejb code.
>
> Af first I need to build resource adapter to get xhive-ra.rar which  
> supply
> connection pool to xhive database. Then I should build my ejb code  
> to get
> functest.jar,which includes junitejb and my own ejb class files.
> Secondly, I deploy xhive-ra.rar on Apache Geronimo app server, then  
> deploy
> the ejb file named functest.jar
> Thirdly, I can run 'ant -f build_internal.xml functest-geronimo' to  
> get
> junit to run my test functions in functest.jar.
>
> I'm not sure whether I have describe my application clearly.If any  
> doubt,
> please make more detail questions.thanks.

It has been many years since I've had to deal with ant but IIUC and  
IIRC your client program is ant or a vm started by ant.  It is rather  
unlikely but conceivable that this is a javaee app client: its much  
more likely that it is a non-javaee client.  The classpath is thus  
determined somehow by the ant build file, apparently  
build_internal.xml.  What is the classpath set in ant for the code  
that calls the ejbs?

david jencks


>
>
>
> djencks wrote:
>>
>> I can't understand from the information you've presented what the
>> classpath of your client app is.
>>
>> Is it a javaee app client or a standalone java app?  How do you run  
>> it?
>>
>> thanks
>> david jencks
>>
>> On Feb 24, 2009, at 6:01 PM, Linda77 wrote:
>>
>>>
>>>
>>> Are there some guys who can help me? %-|
>>>
>>> I'm very very anxious !
>>>
>>> Thanks a lot!
>>>
>>> :confused:
>>> -- 
>>> View this message in context:
>>> http://www.nabble.com/ejb-Couldn%27t-write-EjbResponse-to-output-stream-tp22113948s134p22194712.html
>>> Sent from the Apache Geronimo - Users mailing list archive at
>>> Nabble.com.
>>>
>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/ejb-Couldn%27t-write-EjbResponse-to-output-stream-tp22113948s134p22195044.html
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>


Re: ejb Couldn't write EjbResponse to output stream

Posted by Linda77 <sn...@gmail.com>.

Ok, I will introduce the java application which is used to test xhive
database's some function.

The application contains a resource adapter, junitejb.jar, and my ejb code.

Af first I need to build resource adapter to get xhive-ra.rar which supply
connection pool to xhive database. Then I should build my ejb code to get
functest.jar,which includes junitejb and my own ejb class files.
Secondly, I deploy xhive-ra.rar on Apache Geronimo app server, then deploy
the ejb file named functest.jar
Thirdly, I can run 'ant -f build_internal.xml functest-geronimo' to get
junit to run my test functions in functest.jar.

I'm not sure whether I have describe my application clearly.If any doubt,
please make more detail questions.thanks.


djencks wrote:
> 
> I can't understand from the information you've presented what the  
> classpath of your client app is.
> 
> Is it a javaee app client or a standalone java app?  How do you run it?
> 
> thanks
> david jencks
> 
> On Feb 24, 2009, at 6:01 PM, Linda77 wrote:
> 
>>
>>
>> Are there some guys who can help me? %-|
>>
>> I'm very very anxious !
>>
>> Thanks a lot!
>>
>> :confused:
>> -- 
>> View this message in context:
>> http://www.nabble.com/ejb-Couldn%27t-write-EjbResponse-to-output-stream-tp22113948s134p22194712.html
>> Sent from the Apache Geronimo - Users mailing list archive at  
>> Nabble.com.
>>
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/ejb-Couldn%27t-write-EjbResponse-to-output-stream-tp22113948s134p22195044.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: ejb Couldn't write EjbResponse to output stream

Posted by David Jencks <da...@yahoo.com>.
I can't understand from the information you've presented what the  
classpath of your client app is.

Is it a javaee app client or a standalone java app?  How do you run it?

thanks
david jencks

On Feb 24, 2009, at 6:01 PM, Linda77 wrote:

>
>
> Are there some guys who can help me? %-|
>
> I'm very very anxious !
>
> Thanks a lot!
>
> :confused:
> -- 
> View this message in context: http://www.nabble.com/ejb-Couldn%27t-write-EjbResponse-to-output-stream-tp22113948s134p22194712.html
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>


Re: ejb Couldn't write EjbResponse to output stream

Posted by Linda77 <sn...@gmail.com>.

Are there some guys who can help me? %-|

I'm very very anxious !

Thanks a lot!

:confused:
-- 
View this message in context: http://www.nabble.com/ejb-Couldn%27t-write-EjbResponse-to-output-stream-tp22113948s134p22194712.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: ejb Couldn't write EjbResponse to output stream

Posted by Linda77 <sn...@gmail.com>.

Hello, David,
  I just made a mistake on your message.
  Now I check my client app and geronimo directory.
  In my client app there is no openejb-client jar file, but some defined
variants of properties file named build.properties set these kinds of
information:
    # # Geronimo 2.0 reference implementation settings:
         appserver = geronimo2.0
         j2ee.client.dir       = ${geronimo2.home}/repository
         j2ee.deploy.dir       = ${geronimo2.home}/deploy
         geronimo2.0-java.naming.factory.initial  =
org.apache.openejb.client.RemoteInitialContextFactory
         geronimo2.0-java.naming.provider.url     = 127.0.0.1:4201
And in the Geronimo2.0.2  repository directory the jar file is
openejb-client-3.0-beta-1.jar

So  I have made clear of  the relationship of client app openejb jar and
geronimo repository openejb jar, right?



David Blevins wrote:
> 
> First thing to check is that the openejb-client jar version in your  
> client app matches the openejb-client jar version in the Geronimo  
> repository/ directory.
> 
> -David
> 
> On Feb 19, 2009, at 6:55 PM, Linda77 wrote:
> 
>>
>> Hello,
>>    When I run my j2ee module on Geronimo2.0.2, I met some failure.  
>> My j2ee
>> Module can run successfuly on Geronimo2.0M6.
>>
>>    On Geronimo2.0M6,I lookup JNDI like this: ref =
>> jndiContext.lookup(artifactId + "/" + bean + "/" + beanInterface);
>> The JNDI format according by {moduleId}+{beanName}/{BeanRemoteClass}
>>
>>    Without any change, I run j2ee module on Geronimo2.0.2, however it
>> cannot lookup JNDI.So I change the JNDI format like this:  ref =
>> jndiContext.lookup(bean + "RemoteHome" ); It can returen "ref", but  
>> another
>> exception is thrown:
>> 15:41:12,992 FATAL [ejb] Couldn't write EjbResponse to output stream
>> java.net.SocketException: Broken pipe
>> 	at java.net.SocketOutputStream.socketWrite0(Native Method)
>> 	at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java: 
>> 92)
>> 	at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
>> 	at
>> java.io.ObjectOutputStream 
>> $BlockDataOutputStream.drain(ObjectOutputStream.java:1685)
>> 	at
>> java.io.ObjectOutputStream 
>> $BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1594)
>> 	at
>> java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java: 
>> 1173)
>> 	at  
>> java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java: 
>> 1127)
>> 	at
>> java 
>> .io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java: 
>> 1284)
>> 	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java: 
>> 1079)
>> 	at
>> java 
>> .io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java: 
>> 1398)
>> 	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java: 
>> 305)
>> 	at
>> org.apache.openejb.client.EJBResponse.writeExternal(EJBResponse.java: 
>> 111)
>> 	at
>> org 
>> .apache 
>> .openejb 
>> .server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java: 
>> 196)
>> 	at
>> org 
>> .apache 
>> .openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
>> 	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java: 
>> 122)
>> 	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java: 
>> 84)
>> 	at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java: 
>> 60)
>> 	at  
>> org.apache.openejb.server.ServiceLogger.service(ServiceLogger.java:73)
>> 	at
>> org 
>> .apache 
>> .openejb 
>> .server.ServiceAccessController.service(ServiceAccessController.java: 
>> 55)
>> 	at org.apache.openejb.server.ServiceDaemon$1.run(ServiceDaemon.java: 
>> 117)
>> 	at java.lang.Thread.run(Thread.java:595)
>> 15:41:12,993 ERROR [remote] "EJB_REQUEST OEJP/3.0" FAIL "Broken pipe"
>>
>> I have spent so much time on it, but  nothing is changed. Now I  
>> totally have
>> no idea on it.
>> Waiting for someone show me how to get onto the right way.
>> Thanks in advance!
>>
>> Linda
>> -- 
>> View this message in context:
>> http://www.nabble.com/ejb-Couldn%27t-write-EjbResponse-to-output-stream-tp22113948s134p22113948.html
>> Sent from the Apache Geronimo - Users mailing list archive at  
>> Nabble.com.
>>
>>
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/ejb-Couldn%27t-write-EjbResponse-to-output-stream-tp22113948s134p22174211.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: ejb Couldn't write EjbResponse to output stream

Posted by Linda77 <sn...@gmail.com>.

Actually my client app and Geronimo repository are on the same machine, so
they have the same java version, is that right?



First thing to check is that the openejb-client jar version in your  
client app matches the openejb-client jar version in the Geronimo  
repository/ directory.

-David
-- 
View this message in context: http://www.nabble.com/ejb-Couldn%27t-write-EjbResponse-to-output-stream-tp22113948s134p22155891.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: ejb Couldn't write EjbResponse to output stream

Posted by David Blevins <da...@visi.com>.
First thing to check is that the openejb-client jar version in your  
client app matches the openejb-client jar version in the Geronimo  
repository/ directory.

-David

On Feb 19, 2009, at 6:55 PM, Linda77 wrote:

>
> Hello,
>    When I run my j2ee module on Geronimo2.0.2, I met some failure.  
> My j2ee
> Module can run successfuly on Geronimo2.0M6.
>
>    On Geronimo2.0M6,I lookup JNDI like this: ref =
> jndiContext.lookup(artifactId + "/" + bean + "/" + beanInterface);
> The JNDI format according by {moduleId}+{beanName}/{BeanRemoteClass}
>
>    Without any change, I run j2ee module on Geronimo2.0.2, however it
> cannot lookup JNDI.So I change the JNDI format like this:  ref =
> jndiContext.lookup(bean + "RemoteHome" ); It can returen "ref", but  
> another
> exception is thrown:
> 15:41:12,992 FATAL [ejb] Couldn't write EjbResponse to output stream
> java.net.SocketException: Broken pipe
> 	at java.net.SocketOutputStream.socketWrite0(Native Method)
> 	at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java: 
> 92)
> 	at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
> 	at
> java.io.ObjectOutputStream 
> $BlockDataOutputStream.drain(ObjectOutputStream.java:1685)
> 	at
> java.io.ObjectOutputStream 
> $BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1594)
> 	at
> java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java: 
> 1173)
> 	at  
> java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java: 
> 1127)
> 	at
> java 
> .io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java: 
> 1284)
> 	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java: 
> 1079)
> 	at
> java 
> .io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java: 
> 1398)
> 	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java: 
> 305)
> 	at
> org.apache.openejb.client.EJBResponse.writeExternal(EJBResponse.java: 
> 111)
> 	at
> org 
> .apache 
> .openejb 
> .server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java: 
> 196)
> 	at
> org 
> .apache 
> .openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
> 	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java: 
> 122)
> 	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java: 
> 84)
> 	at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java: 
> 60)
> 	at  
> org.apache.openejb.server.ServiceLogger.service(ServiceLogger.java:73)
> 	at
> org 
> .apache 
> .openejb 
> .server.ServiceAccessController.service(ServiceAccessController.java: 
> 55)
> 	at org.apache.openejb.server.ServiceDaemon$1.run(ServiceDaemon.java: 
> 117)
> 	at java.lang.Thread.run(Thread.java:595)
> 15:41:12,993 ERROR [remote] "EJB_REQUEST OEJP/3.0" FAIL "Broken pipe"
>
> I have spent so much time on it, but  nothing is changed. Now I  
> totally have
> no idea on it.
> Waiting for someone show me how to get onto the right way.
> Thanks in advance!
>
> Linda
> -- 
> View this message in context: http://www.nabble.com/ejb-Couldn%27t-write-EjbResponse-to-output-stream-tp22113948s134p22113948.html
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>
>