I tried the following: 1. Started web app with mvn jetty:run 2. Opened the console (servet) 3. SET DB_CLOSE_ON_EXIT=FALSE 4. Shutdown Jetty
I got the same error, but here it is with the debugging in case that has a clue that I'm overlooking: **/dbMeta0.getDatabaseProductName(); 02-15 09:36:47 jdbc: /**/dbMeta0.getDatabaseProductVersion(); 02-15 09:37:02 jdbc: /**/Statement stat5 = conn4.createStatement(1004, 1008); 02-15 09:37:02 jdbc: /**/stat5.setMaxRows(1000); 02-15 09:37:02 jdbc: /**/stat5.execute("SET DB_CLOSE_ON_EXIT=FALSE"); 02-15 09:37:02 jdbc: SESSION_PREPARE_READ_PARAMS 70 02-15 09:37:02 jdbc: COMMAND_EXECUTE_UPDATE 70 02-15 09:37:02 jdbc[3]: /*SQL */SET DB_CLOSE_ON_EXIT=FALSE; 02-15 09:37:02 jdbc: COMMAND_CLOSE 70 02-15 09:37:02 jdbc: /**/stat5.getUpdateCount(); 02-15 09:37:02 jdbc: /**/stat5.close(); ^C02-15 09:37:10 database: closing mem:test-db from shutdown hook 02-15 09:37:10 database: disconnecting session #2 02-15 09:37:10 database: disconnected session #2 02-15 09:37:10 database: disconnecting session #3 02-15 09:37:10 database: disconnected session #3 02-15 09:37:10 database: closing mem:test-db 02-15 09:37:10 database: closed 02-15 09:37:10 jdbc: /**/conn4.close(); 02-15 09:37:10 jdbc: SESSION_UNDO_LOG_POS 0 02-15 09:37:10 jdbc: SESSION_CLOSE 0 02-15 09:37:10 jdbc: close java.io.IOException: org.h2.jdbc.JdbcSQLException: Connection is broken: "session closed" [90067-164] at org.h2.message.DbException.getJdbcSQLException(DbException.java: 329) at org.h2.message.DbException.get(DbException.java:169) at org.h2.message.DbException.get(DbException.java:146) at org.h2.engine.Session.prepareLocal(Session.java:400) at org.h2.server.TcpServerThread.closeSession(TcpServerThread.java: 163) at org.h2.server.TcpServerThread.process(TcpServerThread.java:267) at org.h2.server.TcpServerThread.run(TcpServerThread.java:146) at java.lang.Thread.run(Thread.java:722) at org.h2.engine.SessionRemote.done(SessionRemote.java:568) at org.h2.engine.SessionRemote.close(SessionRemote.java:512) at org.h2.jdbc.JdbcConnection.close(JdbcConnection.java:365) at org.h2.server.web.WebSession.close(WebSession.java:252) at org.h2.server.web.WebServer.stop(WebServer.java:388) at org.h2.server.web.WebServlet.destroy(WebServlet.java:55) at org.eclipse.jetty.servlet.ServletHolder.destroyInstance(ServletHolder.java: 343) at org.eclipse.jetty.servlet.ServletHolder.doStop(ServletHolder.java: 317) at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java: 84) at org.eclipse.jetty.servlet.ServletHandler.doStop(ServletHandler.java: 207) at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java: 84) at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java: 102) at org.eclipse.jetty.security.SecurityHandler.doStop(SecurityHandler.java: 356) at org.eclipse.jetty.security.ConstraintSecurityHandler.doStop(ConstraintSecurityHandler.java: 237) at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java: 84) at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java: 102) at org.eclipse.jetty.server.session.SessionHandler.doStop(SessionHandler.java: 133) at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java: 84) at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java: 102) at org.eclipse.jetty.server.handler.ContextHandler.doStop(ContextHandler.java: 798) at org.eclipse.jetty.servlet.ServletContextHandler.doStop(ServletContextHandler.java: 153) at org.eclipse.jetty.webapp.WebAppContext.doStop(WebAppContext.java: 478) at org.mortbay.jetty.plugin.JettyWebAppContext.doStop(JettyWebAppContext.java: 264) at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java: 84) at org.eclipse.jetty.server.handler.HandlerCollection.doStop(HandlerCollection.java: 245) at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java: 84) at org.eclipse.jetty.server.handler.HandlerCollection.doStop(HandlerCollection.java: 245) at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java: 84) at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java: 102) at org.eclipse.jetty.server.Server.doStop(Server.java:324) at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java: 84) at org.eclipse.jetty.util.thread.ShutdownThread.run(ShutdownThread.java: 124) Caused by: org.h2.jdbc.JdbcSQLException: Connection is broken: "session closed" [90067-164] at org.h2.message.DbException.getJdbcSQLException(DbException.java: 329) at org.h2.message.DbException.get(DbException.java:169) at org.h2.message.DbException.get(DbException.java:146) at org.h2.engine.Session.prepareLocal(Session.java:400) at org.h2.server.TcpServerThread.closeSession(TcpServerThread.java: 163) at org.h2.server.TcpServerThread.process(TcpServerThread.java:267) at org.h2.server.TcpServerThread.run(TcpServerThread.java:146) at java.lang.Thread.run(Thread.java:722) at org.h2.engine.SessionRemote.done(SessionRemote.java:565) ... 31 more org.h2.jdbc.JdbcSQLException: Connection is broken: "session closed" [90067-164] at org.h2.message.DbException.getJdbcSQLException(DbException.java: 329) at org.h2.message.DbException.get(DbException.java:169) at org.h2.message.DbException.get(DbException.java:146) at org.h2.engine.SessionRemote.checkClosed(SessionRemote.java:500) at org.h2.engine.SessionRemote.removeServer(SessionRemote.java:431) at org.h2.command.CommandRemote.prepare(CommandRemote.java:80) at org.h2.command.CommandRemote.<init>(CommandRemote.java:46) at org.h2.engine.SessionRemote.prepareCommand(SessionRemote.java:437) at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java: 1121) at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:164) at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:152) at org.h2.server.web.DbStarter.contextDestroyed(DbStarter.java:74) at org.eclipse.jetty.server.handler.ContextHandler.doStop(ContextHandler.java: 806) at org.eclipse.jetty.servlet.ServletContextHandler.doStop(ServletContextHandler.java: 153) at org.eclipse.jetty.webapp.WebAppContext.doStop(WebAppContext.java: 478) at org.mortbay.jetty.plugin.JettyWebAppContext.doStop(JettyWebAppContext.java: 264) at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java: 84) at org.eclipse.jetty.server.handler.HandlerCollection.doStop(HandlerCollection.java: 245) at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java: 84) at org.eclipse.jetty.server.handler.HandlerCollection.doStop(HandlerCollection.java: 245) at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java: 84) at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java: 102) at org.eclipse.jetty.server.Server.doStop(Server.java:324) at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java: 84) at org.eclipse.jetty.util.thread.ShutdownThread.run(ShutdownThread.java: 124) 2012-02-15 09:37:10.994:INFO:oejsl.ELContextCleaner:javax.el.BeanELResolver purged On Feb 15, 8:36 am, Noel Grandin <noelgran...@gmail.com> wrote: > Your URL looks fine. > Looks like a bug somewhere in H2 to me. > But I don't know why the code is ignoring that setting. > > The only thing I can suggest is executing this command when your > application starts up: > SET DB_CLOSE_ON_EXIT=FALSE > > On 2012-02-15 16:30, zaraki kenpachi wrote: > > > > > > > > > Here is what I'm using in persistence.xml: > > <property name = "javax.persistence.jdbc.url" value = "jdbc:h2:tcp:// > > localhost/mem:test-db;create=true;DB_CLOSE_ON_EXIT=FALSE"/> > > > I'm pretty sure that is right, but did I miss something? > > > I'm using H2 1.3.164. > > > I can make a small demo maven/jetty/h2 project that displays the issue > > if that would be helpful. > > > On Feb 15, 1:12 am, Noel Grandin<noelgran...@gmail.com> wrote: > >> Yes. > > >> That means that the DB_CLOSE_ON_EXIT=FALSE flag is not working. Are you > >> sure you tested with that flag in place? > > >> On 2012-02-14 16:31, zaraki kenpachi wrote: > > >>> from shutdown hook -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To post to this group, send email to h2-database@googlegroups.com. To unsubscribe from this group, send email to h2-database+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/h2-database?hl=en.