Thanks for the reply. I tried that as shown below and I still get the stack track.
jdbc:h2:tcp://localhost/mem:test-db;create=true;DB_CLOSE_ON_EXIT=FALSE I don't know if I mentioned before that I'm using EclipseLink. I'm not sure if that is relevant or not. Here is the full stack trace in case it is helpful: ^Corg.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-14 07:51:35.671:INFO:oejsl.ELContextCleaner:javax.el.BeanELResolver purged 2012-02-14 07:51:35.671:INFO:oejsh.ContextHandler:stopped o.m.j.p.JettyWebAppContext{/test,file:/Users/zaraki/tmp/test-tmp/test- db/src/main/webapp/},file:/Users/zaraki/tmp/test-tmp/test-db/src/main/ webapp/ [INFO] Jetty server exiting. On Feb 14, 1:29 am, Noel Grandin <noelgran...@gmail.com> wrote: > sounds like the Jetty exit handler is running after the H2 exit handler. > Try adding this to the JDBC URL > > ;DB_CLOSE_ON_EXIT=FALSE > > Seehttp://www.h2database.com/html/features.html#connection_modes > > On 2012-02-14 05:07, zaraki kenpachi wrote: > > > > > > > > > I am running an in memory database using the servlet for a testing > > environment. The db disappears when the jvm goes away. This works > > great for our testing. We use Maven and a simple mvn jetty:run will > > bring up the web app, the db, and the web based console. > > > The problem comes when shutting down. If I stop Jetty with mvn > > jetty:stop or by just doing a control+c I get the following error: > > > Killing Jetty > > 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) > > ..... etc...... > > > It almost seems like org.h2.server.web.DbStarter is trying to shutdown > > the db server, but finding that the db already shut down on its own > > when it saw the jvm going away. I've fiddled with a bunch of the > > settings in web.xml, but haven't been able to avoid this error. It all > > seems to work ok, but some of the team members are freaking out at the > > stack trace. > > > Any suggestions? My settings are shown below. > > > The url is: jdbc:h2:tcp://localhost/mem:test-db;create=true > > > web.xml includes: > > > <listener> > > <listener-class>org.h2.server.web.DbStarter</listener-class> > > </listener> > > > <context-param> > > <param-name>db.url</param-name> > > <param-value>jdbc:h2:tcp://localhost/mem:test-db;create=true</ > > param-value> > > </context-param> > > <context-param> > > <param-name>db.user</param-name> > > <param-value>sa</param-value> > > </context-param> > > <context-param> > > <param-name>db.password</param-name> > > <param-value>sa</param-value> > > </context-param> > > <context-param> > > <param-name>db.tcpServer</param-name> > > <param-value>-tcpAllowOthers</param-value> > > </context-param> > > > <servlet> > > <servlet-name>H2Console</servlet-name> > > <servlet-class>org.h2.server.web.WebServlet</servlet-class> > > <load-on-startup>1</load-on-startup> > > </servlet> > > <servlet-mapping> > > <servlet-name>H2Console</servlet-name> > > <url-pattern>/console/*</url-pattern> > > </servlet-mapping> -- 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.