Peter Firmstone wrote:
Note that when you export your service it's proxy is stored in Marshalled form until the client discovers it, while in Marshalled form

Eh, that isn't exactly true is it? After export, you get a Proxy with a reference to a BasicInvocationHandler with a reference to a BasicObjectEndpoint with a reference to a ImplContainer with a reference to your service.

As long as you keep the reference to the exported service, the service is 'strongly reachable' from the exported service.

The problem starts when you marshall it in BasicInvocationDispatcher.marshalReturn(), and the reply has enough latency to arive 'late' at the client side.

In this window the service becomes 'weakly reachable' and if the GC kicks in before DgcServer.dirty the object gets finalized.

Gr. Sim


--
QCG, Software voor het MKB, 071-5890970, http://www.qcg.nl
Quality Consultancy Group b.v., Leiderdorp, Kvk Leiden: 28088397

Reply via email to