在服务器模式下运行Tomee上的Hypersonic数据库

时间:2016-09-16 13:42:27

标签: java hsqldb tomee tomee-7

我正面临下一个问题。在我的公司,我们将Hypersonic数据库从Jboss迁移到TomEE服务器(apache-tomee-plus-7.0.1)。根据Hypersonic文档,所有必需的库都在服务器的lib目录中(默认情况下)。

我想,当服务器从配置开始以服务器模式(在特定端口上)开始运行Hypersonic数据库时,部署在同一服务器上的webapp可以连接到它。

这是我们在tomee.xml中的资源配置:

<Resource id="HSQLDB Database" type="DataSource">
    jdbcDriver = org.hsqldb.jdbcDriver
    jdbcUrl = jdbc:hsqldb:hsql://127.0.0.1:9001
    userName = sa
    password =
</Resource>

但是当服务器启动时,我们会收到下一个错误:

org.apache.openejb.assembler.classic.Assembler.createRecipe Creating Resource(id=HSQLDB Database)
16-Sep-2016 13:14:05.145 SEVERE [main] org.apache.tomcat.jdbc.pool.ConnectionPool.init Unable to create initial    connections of pool.
java.sql.SQLTransientConnectionException: java.net.ConnectException: Connection refused: connect

有人可以告诉我我们做错了什么,以及我们如何在服务器模式下成功部署Hypersonic db on Tomee?

1 个答案:

答案 0 :(得分:2)

我看到你没有指定数据库的名称和要连接的别名。以下两个网址都是&#39;应该运作良好。 HSQL数据库默认使用端口9001。如果设置不同,则以下所有网址都应运行良好:

jdbc:hsqldb:hsql://localhost:9001/myDatabase
jdbc:hsqldb:hsql://127.0.0.1:9001/myDatabase
jdbc:hsqldb:hsql://localhost/myDatabase
jdbc:hsqldb:hsql://127.0.0.1/myDatabase

在使用Java连接数据库之前,您必须在终端中启动服务器:

java -cp C:/----/hsqldb-2.3.4/lib/hsqldb.jar org.hsqldb.server.Server --database.0 file:myDatabase --dbname.0 myDatabase

请勿忘记指定hsqldb.jar的完整路径。