db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Hillegas <rick.hille...@oracle.com>
Subject Garbage-collecting Derby classes, was: Can't remove derby from memory
Date Tue, 27 Mar 2012 12:25:16 GMT
This discussion is taking place on the user list. It is my understanding 
that graceful engine shutdown is supposed to remove references to Derby 
classes, making all of the engine code eligible to be garbage-collected. 
At least, that is what I thought Lily implemented for 10.8.

In the discussion below, the user is expecting that garbage-collection 
will happen after shutting down a single database. I wouldn't expect 
that. But it got me to wondering how a user is supposed to shutdown the 
engine gracefully via the Derby DataSources. I know how to do this by 
passing a shutdown URL to DriverManager, but how do you do this via a 


-------- Original Message --------
Subject: 	Re: Can't remove derby from memory
Date: 	Mon, 26 Mar 2012 18:06:24 -0700
From: 	Bryan Pendleton <bpendleton.derby@gmail.com>
Reply-To: 	Derby Discussion <derby-user@db.apache.org>
To: 	Derby Discussion <derby-user@db.apache.org>

>  room.  I have noticed that no matter what I do, the ~10MB of memory that is
>  taken when the database connect is initiated is held no matter what commands

Certainly sounds like the database isn't getting fully shut down.

>  dynamDS.setShutdownDatabase("shutdown");

It's not clear to me that this does anything by itself. The docs say:

     If set to the string "shutdown", this will cause the database to shutdown
     when a java.sql.Connection object is obtained from the data source. E.g.,
     If the data source is an XADataSource, a getXAConnection().getConnection()
     is necessary to cause the database to shutdown.

This sounds like you have to get a final connection (and then close it) after
setting ShutdownDatabase.

Did you try getting a connection after calling setShutdownDatabase?



View raw message