Note that when you export your service it's proxy is stored in Marshalled form until the client discovers it, while in Marshalled form only, it cannot participate in DGC. In that case you might want to hold a reference for a period of time (Lease), long enough to allow your clients to discover the service.

I've had thoughts about OSGi's use of bundle activation and deactivation, if a service is implemented in a bundle, the service id could be stored to disk on the dedicated area reserved for that particular bundle. Another bundle might manage leases for several jini Services that are exported, activating them on demand. There's always Phoenix of course, just some thoughts.

Cheers,

Peter.


Peter Firmstone wrote:
Is DGC enabled?  It's disabled by default.

Peter Firmstone wrote:
Sim IJskes - QCG wrote:
Hello,

i've got a strange problem with DGC.

In a service, we create a service, export it with DGC, keep no reference of the service or exported service on the service side, return it immediately to the caller.

The expected behaviour is that from the moment of export, we get a certain period for the exported service to be deserialized at the caller side, and do our first DgcServer.dirty call.

It turns out, that ObjectTable$Target.collect is called before the first dirty call is done.
What exception does the client throw?

What's the lease duration? Is the lease expiring prior to the the first dirty call?

Does it relate to River-142?

https://issues.apache.org/jira/browse/RIVER-142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel


Is this expected behaviour? Should i bridge the time between the export and the first dirty with a shortlived reference keeper? Should i call dirty on the service side?

Gr. Sim






Reply via email to