java -cp hsqldb.jar org.hsqldb.Server -database.0 ./db/test -dbname.0 test
java -cp hsqldb.jar org.hsqldb.util.DatabaseManagerSwing
- public class HsqlDbListener implements ServletContextListener {
- private static final Logger LOG = Logger.getLogger(HsqlDbListener.class);
- @Override
- public void contextInitialized(ServletContextEvent servletContextEvent) {
- LOG.info("start hsql db server...");
- startServer();
- }
- /**
- * java -cp hsqldb.jar org.hsqldb.Server -database.0 testdb -dbname.0 test
- */
- private void startServer() {
- Server server = new Server();
- server.setDatabaseName(0, "test");
- server.setDatabasePath(0, "/Users/mazhiqiang/develop/server/hsqldb-2.3.2/hsqldb/lib/testdb");
- server.setPort(9002);
- server.setSilent(true);
- server.setTrace(true);
- server.start();
- }
- @Override
- public void contextDestroyed(ServletContextEvent servletContextEvent) {
- try {
- stopServer();
- } catch (BusinessException e) {
- throw new BusinessRuntimeException(e);
- }
- LOG.info("hsql db server stopped.");
- }
- private void stopServer() throws BusinessException {
- Connection connection = null;
- try {
- Class.forName("org.hsqldb.jdbcDriver");
- connection = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/test");
- Statement statement = connection.createStatement();
- statement.execute("SHUTDOWN;");
- } catch (ClassNotFoundException e) {
- throw new BusinessException(e);
- } catch (SQLException e) {
- throw new BusinessException(e);
- }
- }
<listener> <listener-class>xxx.HsqldbListener</listener-class></listener>
联系客服