A caching mechanism for JAVA RMI remote objects is provided. In order to
efficiently implement a cache for these connection objects, the client
JYM may hold a normal reference to the object while the connection is in
use and for a period of time thereafter. A thread is used as a timer for
each connection. After that period of time expires, only a weak reference
is held by the client JVM and the connection may be garbage collected.
The period of time maybe adjusted. A shorter time may be used to ensure
responsiveness of the server JVM to memory demand and shutdown requests,
while a longer time may be used to enhance the effectiveness of the
caching mechanism by forcing connections to stay open longer after they
are no longer being used and before they are automatically destroyed due
to garbage collection.