java中如何停止h2数据库服务器并启动h2数据库服务器编程

Posted

技术标签:

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

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

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

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

【问题讨论】:

【参考方案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 命令(或者如果在某处配置了密码,则使用密码),但如果没有设置密码,则不能保证它可以工作。 您无法连接一些现有进程并在其中启动服务器,除非您自己在该进程中包含此类功能。

以上是关于java中如何停止h2数据库服务器并启动h2数据库服务器编程的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式停止 H2 数据库

用蚂蚁启动/停止 H2

如何在没有 PG 服务器和 Web 控制台的情况下启动 H2 数据库命令行?

Java H2 数据库 - 在服务器启动期间设置管理员密码

h2 和 linux。如何启动数据库?

如何在 Java 应用程序中设置 H2 嵌入式数据库以在小型网络中使用?