【问题标题】:Run Hypersonic db on Tomee in server mode在服务器模式下在 Tomee 上运行 Hypersonic db
【发布时间】:2016-09-16 13:42:27
【问题描述】:

我正面临下一个问题。在我的公司,我们正在将 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

谁能告诉我我们做错了什么以及我们如何以服务器模式在 Tomee 上成功部署 Hypersonic db?

【问题讨论】:

    标签: java hsqldb apache-tomee tomee-7


    【解决方案1】:

    我看到您没有指定要连接的数据库名称和别名。以下两个 URL 应该都能正常工作。 HSQL 数据库默认使用端口9001。如果没有设置不同,以下所有 URL 应该都能正常工作:

    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 的完整路径。

    【讨论】:

    • 您好,感谢您的回答。我们设法做到了这一点。我还想知道是否有办法避免在终端中启动单独的 hsql 服务器并将 hsql 部署在运行我们的 WebApp 的同一个 TomEE 服务器上?
    • 嗯,我唯一的想法是直接用Java作为命令执行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-17
    • 1970-01-01
    • 2010-12-02
    • 2012-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多