Grails 2.2.2 'stop-app'调用 Hsqldb 的 'shutdown' sql 命令



我在服务器模式下运行hsqldb 2.2.9(与grails分开jvm),每次grails stop-app调用hsql的shutdown sql命令

我能阻止这种行为吗?我希望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

对不起,我的英语很差。

问候,凯基

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

但是您可以使用server.remote_open=true属性来保持HSQLDB服务器的活动状态,并使用连接属性在Grails关闭数据库时打开数据库。

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

你正在终止进程,所以它会停止hsqldb…

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

希望有所帮助

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

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

最新更新