提供启动MySQL的java应用程序(自包含应用程序)

时间:2011-10-10 15:55:15

标签: java mysql java-ee installation

我有一个(对我来说很复杂)问题,但是我会尝试解决这个问题中的1个问题。

我有一个在后端有一个MySQL数据库的java应用程序。

我希望能够通过安装程序优先交付应用程序和数据库(这也是我目前还没有解决方案的一部分)。

无论如何,现在的问题是我的偏好是MySQL不应该作为服务安装 我的理由是我不想修改机器,我的应用程序将被部署 我更喜欢提供“自包含”的应用程序。

因此,如果MySQL没有作为服务安装,那么必须以某种方式启动它 我知道我可以使用以下单独启动MySQL:

mysqld --standalone --console

在这种情况下,将打开一个新的命令行窗口并运行MySQL(我在开发/代码测试期间使用它)。

我不知道在部署应用程序后如何实现相同的效果(并在运行时通过代码启动MySQL)。

我想过使用Runtime并执行以下操作:

Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("PATH\\mysqld --standalone --console"); //PATH is of course the appropriate path to MySQL installation

但这似乎没有做任何事情。它只是在徘徊。

理想情况下,我想启动MySQL 没有开放的

我的问题有解决方案吗?

2 个答案:

答案 0 :(得分:1)

为什么你想让自己的生活变得艰难?不要使用MySQL,而是使用Embedded Database,例如:

答案 1 :(得分:1)

检查MySQL Connector/MXJ。您可以从here下载它。它可以完全控制数据库的启动和停止。一旦下载并解压缩,请检查'src'文件夹下的ConnectorMXJObjectTestExample.java。它会给你完整的想法。