db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Karl Weber <karl.webe...@googlemail.com>
Subject Shutdown DB does not work / threadding issue
Date Sat, 18 Feb 2012 14:45:49 GMT

I am using Derby DB in an embedded environment. I am shutting down the DB and 
the system using the following two methods (I have ommitted all try-catch-
finally stuff, logging etc.)

Shutting down the DB, where fDS is an EmbeddedDataSource40:

public void shutdownDB() {

Shutting down the system:

public void shutdownDerby() {

This works, if it is done on the thread that is shutting down my OSGi 
component, which encapsulates Derby, i.e. the deactivate-method called by the 
OSGi framework. This does, however, _not_ work, if it is put in a separate 
thread in the deactivate-method, as in

new Thread(new Runnable() {
	public void run() {

In this case, the Runnable stops at the statement


No Throwable is thrown. Nevertheless, the DB does not seem to be stopped 
correctly, as in the latter case (only) I find the two files dbex.lck and 
db.lck in the DB folder. 

Right before this "last" statement is called, I have around 12 threads 
running, so the thread running the Runnable will most probably not be the last 
thread in the JVM, if that matters.

For some reason I would like to shutdown things asynchroneously. What do I 
miss here?

I am using Derby


View raw message