2016-09-16 60 views
1

我正面臨下一個問題。在我的公司,我們將Hypersonic db從Jboss移到TomEE服務器(apache-tomee-plus-7.0.1)。根據Hypersonic文檔,所有必需的庫都位於服務器的lib目錄中(默認情況下)。在服務器模式下在Tomee上運行Hypersonic db

我想,當服務器開始在服務器模式(特定端口)上從配置中運行Hypersonic數據庫,以便部署在同一臺服務器上的Web應用程序可以連接到它。

這裏是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數據庫?

回答

2

我看你沒有指定要連接的數據庫和別名的名稱。以下兩個URL都應該正常工作。 HSQL數據庫默認使用端口9001。如果沒有設置不同,所有的以下網址應該很好地工作:在您連接到使用Java數據庫

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 -cp C:/----/hsqldb-2.3.4/lib/hsqldb.jar org.hsqldb.server.Server --database.0 file:myDatabase --dbname.0 myDatabase 

不要忘記指定hsqldb.jar的完整路徑。

+0

嗨,謝謝你的回答。 我們設法做到了這一點。我還想知道是否有一種方法可以避免在終端中啓動單獨的hsql服務器,並將hsql部署在運行WebApp的相同TomEE服務器上? – Stevan

+0

嗯,我唯一的想法是直接將它作爲Java命令執行。 –