This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes RMI Lease Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "RMI Lease" Watch "RMI Lease" New topic
Author

RMI Lease

Michael Morris
Ranch Hand

Joined: Jan 30, 2002
Posts: 3451
Hi All,
There is still one point on RMI that I am unclear on: What happens when a lease expires on an remote object while a live client holds an active reference to that object?
The API docs says that a client should call DGC.dirty() to renew the lease. How is that accomplished or does it just happen through the stub?
One further question: How does the client know what the lease duration is?
Thanks in advance
Michael Morris


Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Ernst F. Schumacher
Peter den Haan
author
Ranch Hand

Joined: Apr 20, 2000
Posts: 3252
Originally posted by Michael Morris:
There is still one point on RMI that I am unclear on: What happens when a lease expires on an remote object while a live client holds an active reference to that object? [...] How does the client know what the lease duration is?
The lease is not allowed to expire unless the client has crashed or the network connection between client and server is severed. If this happens, the server-side skeleton and object will be cleaned up and next time the client calls the object an RMIException will be thrown.
You don't need to call DGC.dirty(). This is taken care of by the RMI implementaton.
The lease duration is contained in the Lease object returned by DGC.dirty(). Off the top of my head I can't remember a way for application-level code to determine the lease duration. On a protocol level the server does communicate the lease duration to the client so the client knows when to renew it, but that's firmly under the hood.
Ultimately these are RMI implementation details that should be of no concern to a humble developer, I'd think.
- Peter
[ April 17, 2002: Message edited by: Peter den Haan ]
Michael Morris
Ranch Hand

Joined: Jan 30, 2002
Posts: 3451
Thanks Peter. I'll fret no longer on the subject.
Michael Morris
 
Consider Paul's rocket mass heater.
 
subject: RMI Lease
 
Similar Threads
terminate of programs
NX:WeakHashMap, simple question
DGC.dirty() and Lease
A question on RMI
Unreferenced Problem