【问题标题】:How to stop h2 database server and start h2 database Server Programming in javajava中如何停止h2数据库服务器并启动h2数据库服务器编程
【发布时间】:2019-10-08 06:48:49
【问题描述】:

我需要通过服务器停止服务器。然后在 1 分钟后再次开始。 这个 h2 数据库是在我们的 spring xml 文件配置中配置的。

如果有人帮助我,那将是非常有帮助的。

经过长期的斗争..我们做不到。

【问题讨论】:

    标签: database spring h2


    【解决方案1】:

    如果您想在您的应用程序内部创建 TCP 服务器,请使用

    org.h2.tools.Server tcp = org.h2.tools.Server.createTcpServer("-tcpPort", "9999", …);
    tcp.start();
    
    .....
    
    tcp.stop();
    

    如果你想在单独的进程中启动它,你可以启动

    java -cp h2-1.4.199.jar org.h2.tools.Server -tcp -tcpPort 9999 -tcpPassword somePassword
    

    启动服务器和

    java -cp h2-1.4.199.jar org.h2.tools.Server -tcpShutdown tcp://localhost:9999 -tcpPassword somePassword
    

    阻止它。

    默认的 TCP 端口是 9092,如果你不指定另一个,它将被使用。

    使用Runtime.getRuntime().exec(…)ProcessBuilder 在您的应用程序中执行这些命令。

    【讨论】:

    • 谢谢梁赞诺夫。回答我的问题。我们可以停止并启动一个通过上下文文件初始化的现有 h2 数据库服务器吗?
    • “上下文文件”是什么意思?您可以在没有密码的情况下尝试相同的-tcpShutdown 命令(或者如果在某处配置了密码,则使用密码),但如果没有设置密码,则不能保证它可以工作。
    • 您无法连接一些现有进程并在其中启动服务器,除非您自己在该进程中包含此类功能。
    猜你喜欢
    • 2011-01-13
    • 2010-12-02
    • 1970-01-01
    • 2019-09-13
    • 2017-09-11
    • 1970-01-01
    • 2023-03-19
    • 2012-03-08
    • 1970-01-01
    相关资源
    最近更新 更多