You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by AndyG <an...@orprovision.com> on 2012/04/05 16:52:02 UTC

EJBResponse.java 'times' was breaking remote client

Commented out writing of times - This is breaking remote EJBD client access
somewhere. Tested with and without and this definitely a repeatable issue.
There must be a read write mismatch outside of this class?

Performed full rebuilds and checked both client and server jar files are
definitely the correct versions.

Both client and server are on JDK 1.6.31, client 64bit server 32bit.

Seems to be blocking at writeObject / readObject, so are we passing custom
ObjectOutput / ObjectInput implementations into the method anywhere?

--
View this message in context: http://openejb.979440.n4.nabble.com/EJBResponse-java-times-was-breaking-remote-client-tp4535068p4535068.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.

Re: EJBResponse.java 'times' was breaking remote client

Posted by David Blevins <da...@gmail.com>.
Awesome.  If it proves hard, feel free to comment that chunk of the EJBResponse readExternal/writeExternal code for the release branch.  We can always add that in more carefully later.

If we're able to make it work, though, even better :)

-David

On Apr 9, 2012, at 11:20 PM, AndyG wrote:

> I will have a deeper play today.
> 
> --
> View this message in context: http://openejb.979440.n4.nabble.com/EJBResponse-java-times-was-breaking-remote-client-tp4535068p4544729.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.


Re: EJBResponse.java 'times' was breaking remote client

Posted by AndyG <an...@orprovision.com>.
I will have a deeper play today.

--
View this message in context: http://openejb.979440.n4.nabble.com/EJBResponse-java-times-was-breaking-remote-client-tp4535068p4544729.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.

Re: EJBResponse.java 'times' was breaking remote client

Posted by David Blevins <da...@gmail.com>.
On Apr 5, 2012, at 7:52 AM, AndyG wrote:

> Commented out writing of times - This is breaking remote EJBD client access
> somewhere. Tested with and without and this definitely a repeatable issue.
> There must be a read write mismatch outside of this class?
> 
> Performed full rebuilds and checked both client and server jar files are
> definitely the correct versions.
> 
> Both client and server are on JDK 1.6.31, client 64bit server 32bit.
> 
> Seems to be blocking at writeObject / readObject, so are we passing custom
> ObjectOutput / ObjectInput implementations into the method anywhere?

No, it's likely just that the client and server versions do not match.  Either the client version doesn't know to read those bytes the server sends (new server w/ old client), or the server doesn't know to send them (new client w/ old server).

We have version codes in the request/response objects there for "future use", so this might be a good time to use them :)

Here's how that would work if someone wanted to hack on it:

 - EjbRequestHandler (server-side); after reading in the EJBRequest data, take the version field from the request and set that into the EJBResponse.
 - Smarten the EJBResponse writeExternal to not write extra timing data if the 'version <= 1' or to read them in readExternal if 'version <= 1'


-David