closing embedded database with DB_CLOSE_DELAY=-1

2,475 views
Skip to first unread message

Adam McMahon

unread,
Oct 26, 2011, 12:17:20 AM10/26/11
to H2 Database
Hi everyone,

I am using an embedded Database with DB_CLOSE_DELAY=-1. I could not
find a simple way to close this type of database from within Java
code.

I would like H2 to be able to close a bit more graceful, currently I
am getting the tomcat warning: "appears to have started a thread named
[H2 File Lock Watchdog /home/adam/mydb.lock.db] but has failed to stop
it."

I do not want to make the Database a resource that is handled by
tomcat, but I would like to open and close it via code. Of course
opening it is easy, but can't figure out how to close it when I want
to.

Thanks,

-Adam

Thotheolh

unread,
Oct 26, 2011, 2:06:34 AM10/26/11
to H2 Database
Disconnecting the H2 via JDBC should usually handle it internally.

Do you have sample working codes, test cases and errors or warnings
that can be reproduced ?

Thomas Mueller

unread,
Oct 26, 2011, 2:10:54 AM10/26/11
to h2-da...@googlegroups.com
Hi,

To close the database, execute the SQL statement "SHUTDOWN" (Statement.execute("SHUTDOWN")).

Regards,
Thomas
--
You received this message because you are subscribed to the Google Groups "H2 Database" group.
To post to this group, send email to h2-da...@googlegroups.com.
To unsubscribe from this group, send email to h2-database...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/h2-database?hl=en.

Adam McMahon

unread,
Oct 26, 2011, 12:32:08 PM10/26/11
to H2 Database
Hi,

Thomas: your suggestion to use the sql shutdown command worked great

Thotheolh: I guess my question was a bit off, because I thought I
would need an api call, but as it turns out the "shutdown" sql
statement worked fine. To describe my situation. I am using embedded
H2 in tomcat. When I would shut down tomcat (using the tomcat
shutdown.sh command) it would give me the warning that and H2 thread
has failed to stop, it would also give me this warning upon a
redeployment. I simply needed to add the sql "shutdown" command at an
appropriate place within my servlets to explicitly tell H2 to just
down. Do you think this was not necessary? Should I not have to do
this?

Thanks,

-Adam

On Oct 25, 11:10 pm, Thomas Mueller <thomas.tom.muel...@gmail.com>
wrote:
> Hi,
>
> To close the database, execute the SQL statement "SHUTDOWN"
> (Statement.execute("SHUTDOWN")).
>
> Regards,
> Thomas
>
>
>
>
>
>
>
> On Wednesday, October 26, 2011, Adam McMahon wrote:
> > Hi everyone,
>
> > I am using an embedded Database with DB_CLOSE_DELAY=-1.  I could not
> > find a simple way to close this type of database from within Java
> > code.
>
> > I would like H2 to be able to close a bit more graceful, currently I
> > am getting the tomcat warning: "appears to have started a thread named
> > [H2 File Lock Watchdog /home/adam/mydb.lock.db] but has failed to stop
> > it."
>
> > I do not want to make the Database a resource that is handled by
> > tomcat, but I would like to open and close it via code.  Of course
> > opening it is easy, but can't figure out how to close it when I want
> > to.
>
> > Thanks,
>
> > -Adam
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "H2 Database" group.
> > To post to this group, send email to h2-da...@googlegroups.com<javascript:;>
> > .
> > To unsubscribe from this group, send email to
> > h2-database...@googlegroups.com <javascript:;>.
Reply all
Reply to author
Forward
0 new messages