Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 以编程方式停止H2数据库_Java_Database_Tomcat_H2 - Fatal编程技术网

Java 以编程方式停止H2数据库

Java 以编程方式停止H2数据库,java,database,tomcat,h2,Java,Database,Tomcat,H2,假设我们有一个H2数据库,它是使用Hibernate从Tomcat下的web应用程序启动的。换句话说,它是嵌入到应用程序中的H2数据库 问题:是否可以通过编程从此应用程序停止此H2服务器,然后再次启动它 p.S.Server.createTcpServer(args.start()或服务器。关闭(…)不是办法,因为它处于嵌入式模式。在这种特殊情况下,这种方法将是可行的解决方案: 要停止H2数据库,只需使用SHUTDOWNsql命令: session.createSQLQuery(“SHUTDOW

假设我们有一个
H2
数据库,它是使用
Hibernate
Tomcat
下的web应用程序启动的。换句话说,它是嵌入到应用程序中的
H2
数据库

问题:是否可以通过编程从此应用程序停止此
H2
服务器,然后再次启动它


p.S.
Server.createTcpServer(args.start()
服务器。关闭(…)
不是办法,因为它处于嵌入式模式。

在这种特殊情况下,这种方法将是可行的解决方案:

  • 要停止H2数据库,只需使用
    SHUTDOWN
    sql命令:

    session.createSQLQuery(“SHUTDOWN”).executeUpdate()

  • 要重新启动H2,您不需要做任何事情:Tomcat的连接池将自动执行


  • 您是否在应用程序中使用嵌入式H2?在这种情况下,没有H2服务器在运行。您的web应用程序是H2应用程序的客户端吗?是嵌入应用程序的那个吗?顺便说一句,你的用例是什么?为什么要重启?@DavidBrossard让我不要解释为什么我需要重启。请帮我做到这一点:)足够公平:-)不过,如果你的db嵌入到你的应用程序中,那么重启意味着什么?重新启动到数据库的所有jdbc连接?不,我的意思是实际上
    stop
    数据库。这意味着,h2将不会在关闭时使用其磁盘上的文件。谢谢,非常感谢!