> On May 4, 2017, at 11:32 AM, Mandy Chung <mandy.ch...@oracle.com> wrote:
> 
> 
>> On May 3, 2017, at 11:16 PM, Peter Levart <peter.lev...@gmail.com> wrote:
>> 
>> Hi Rick,
>> 
>> Allow me to join the discussion...
>> 
>> On 05/04/2017 04:21 AM, Rick Hillegas wrote:
>>> Thanks, Roger. That is a helpful example.
>>> 
>>> Derby is a component which can be quiesced and unloaded on 
>>> resource-constrained platforms, then re-loaded when resources free up. 
>>> Unloading means garbage collecting all the classloaders created by the 
>>> component so that, at the end, not a single scrap of Derby code remains 
>>> loaded. Has the Cleaner pattern been tested under these kinds of 
>>> conditions? Can you point me at a Cleaner-based library which successfully 
>>> unloads and reloads itself without leaking classloaders?
>> 
>> Can you point me to a place in Derby code where you are currently using 
>> finalize() method for your purpose and I'll try to show you how to convert 
>> this to Cleaner API...
>> 
>> I'm surprised that you actually need finalize() in Derby. Isn't this pure 
>> Java code? Usually finalize() is needed in situations where there's some 
>> non-Java resource which has to be cleaned-up when all the references to some 
>> Java object that represents it are gone. I'm curious what you need to clean 
>> in a pure Java library.
> 
> Please include me for the pointer to Derby code too.  This can be used 
> serving as examples to migrate away from use of finalizers.  We also hope to 
> do that in JDK to set up more examples.

Here are a few examples I believe:
 
http://svn.apache.org/repos/asf/db/derby/code/trunk/java/client/org/apache/derby/client/am/ClientConnection.java
 
<http://svn.apache.org/repos/asf/db/derby/code/trunk/java/client/org/apache/derby/client/am/ClientConnection.java>
http://svn.apache.org/repos/asf/db/derby/code/trunk/java/client/org/apache/derby/client/ClientPooledConnection.java
 
<http://svn.apache.org/repos/asf/db/derby/code/trunk/java/client/org/apache/derby/client/ClientPooledConnection.java>
http://svn.apache.org/repos/asf/db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedPreparedStatement.java
 
<http://svn.apache.org/repos/asf/db/derby/code/trunk/java/engine/org/apache/derby/impl/jdbc/EmbedPreparedStatement.java>
> 
> Mandy

 <http://oracle.com/us/design/oracle-email-sig-198324.gif>
 <http://oracle.com/us/design/oracle-email-sig-198324.gif> 
<http://oracle.com/us/design/oracle-email-sig-198324.gif>
 <http://oracle.com/us/design/oracle-email-sig-198324.gif>Lance Andersen| 
Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive 
Burlington, MA 01803
lance.ander...@oracle.com <mailto:lance.ander...@oracle.com>



Reply via email to