java代码和服务器同时启动,java – 如何在我的Web应用程序中启动和继续运行hsqldb在服务器模式?...

根据HSQLDB文档可能从Java代码启动数据库:

因此,当Web应用程序启动时,您可以使用servlet加载数据库.步骤如下:

>创建一个Servlet“InitDatabase”并将代码用于启动数据库的方法init()

@Override

public void init() throws ServletException {

super.init();

try {

System.out.println("Starting Database");

HsqlProperties p = new HsqlProperties();

p.setProperty("server.database.0", "file:/opt/db/crm");

p.setProperty("server.dbname.0", "mydb");

p.setProperty("server.port", "9001");

Server server = new Server();

server.setProperties(p);

server.setLogWriter(null); // can use custom writer

server.setErrWriter(null); // can use custom writer

server.start();

} catch (AclFormatException afex) {

throw new ServletException(afex);

} catch (IOException ioex) {

throw new ServletException(ioex);

}

}

>在您的web.xml中,在启动时添加属性加载并将其设置为1.这是为了在Web应用程序启动时调用方法init().

InitDatabase

bo.hsqltest.InitDatabase

1

这样做后,Web应用程序将在新的线程中启动HSQLDB.为了关闭数据库,当应用程序停止时,您可以覆盖InitServlet的destroy()方法.在方法destroy中,您必须执行命令“SHUTDOWN”作为正常的sql查询(通过JDBC).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值