0

hsqldb 2.2.9在服务器模式下运行(将 jvm 与 grails 分开),每次 grailsstop-app调用 hsql 的shutdownsql 命令。

我可以防止这种行为吗?我希望hsqdb继续运行每一个run-app/stop-app

当我调用 stop-app 时,hsqldb 服务器响应:

[Server@4a13ccea]: [Thread[HSQLDB Server @4a13ccea,5,main]]: handleConnection(Socket[addr=/127.0.0.1,port=63260,localport=9001]) entered
[Server@4a13ccea]: [Thread[HSQLDB Server @4a13ccea,5,main]]: handleConnection() exited
[Server@4a13ccea]: [Thread[HSQLDB Connection @afe1bc5,5,HSQLDB Connections @4a13ccea]]: 3:Trying toconnect user 'SA' to DB (glitter)
[Server@4a13ccea]: [Thread[HSQLDB Connection @afe1bc5,5,HSQLDB Connections @4a13ccea]]: 3:Connecteduser 'SA'
[Server@4a13ccea]: 3:HSQLCLI:GETSESSIONATTR
[Server@4a13ccea]: 3:HSQLCLI:GETSESSIONATTR
[Server@4a13ccea]: 3:SHUTDOWN

对不起我糟糕的英语..

问候, 景治

4

3 回答 3

0

好吧,您正在终止该进程,所以是的,它将停止 hsqldb ...

您还可以使用适当的 JDBC url 设置运行单独的 Hsqldb 实例http://hsqldb.org/doc/guide/ch01.html

希望能帮助到你

于 2013-05-07T22:01:51.770 回答
0

最好在 Grails 中找到解决方案,以避免向数据库发送 SHUTDOWN 命令。

但是您可以使用该属性保持 HSQLDB 服务器处于活动状态,server.remote_open=true并使用一个连接属性来打开数据库(如果它已被 Grails 关闭)。

http://hsqldb.org/doc/guide/listeners-chapt.html#lsc_remote_open

于 2013-05-07T23:22:41.117 回答
0

似乎 Grails 中有特定代码仅在使用 HSQL 时才调用 SHUTDOWN。见https://jira.grails.org/browse/GRAILS-2687

不幸的是,他们不检查它是否是进程内服务器。

于 2014-10-07T05:17:04.383 回答