I went through this excercise with the pooled invoker. The approach I used is described here:
It relies on specific behavior in the rmi remoting layer, that the pooled invoker actually broke by trying to override the objectinputstream/objectoutputstream to avoid writing the class description that is required for the rmi layer to understand the object boundaries.
So you just catch the two types of exceptons and ignore?
I looked at those exceptions and methods, but didn't see it documentated
that that is how it worked? Are you sure it isn't Sun specific?
i.e an undocumented feature ;-)
The problem is the rmi wire protocol and behavior around it although documented in the rmi spec, its not adequately defined and consistently implemented according to stuff I have read about others trying to implement it, so interop with rmi implementations other than Sun are likely to be suspect.
This isn't RMI anyway. It is plain sockets with Object[Input/Output]Stream
I think I'll just stick with sending the redundant reply.
Yes, the reliance is just on the java object serialization details. I was lumping this spec into RMI.