我已安装SQL Workbench/J Build 118并登录 Liferay Portal 的 HSQL 数据库。
然后我关闭了SQL Workbench而没有对数据库进行任何更改。 我重新启动了Liferay tomcat服务器,然后出现以下错误:
ERROR [localhost-startStop-1][DialectDetector:124] java.sql.SQLException:
Connections could not be acquired from the underlying database!
和这个警告:
WARN [C3P0PooledConnectionPoolManager[identityToken->3c8jofUN]-HelperThread-#4][BasicResourcePool:1851]
com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@3249a129 --
Acquisition Attempt Failed!!! Clearing pending acquires.
While trying to acquire a needed new resource, we failed to succeed more than
the maximum number of allowed acquisition attempts (3).
Last acquisition attempt exception:
java.sql.SQLException: error in script file line:
7 unexpected token: CONFLICT required: DEADLOCK
<子> PS。我使用的是最新版本的HSQL JDBC驱动程序(v.2.3.3)
答案 0 :(得分:4)
我通过更改%LIFERAY_DIR%/data/hsql/lportal.script
文件中的这一行来解决了这个问题:
SET DATABASE TRANSACTION ROLLBACK ON CONFLICT TRUE
到
SET DATABASE TRANSACTION ROLLBACK ON DEADLOCK TRUE
然后我删除了这一行:
SET DATABASE SQL AVG SCALE 0
我成功启动了服务器。
答案 1 :(得分:1)
当然,您也可以将hsql作为服务器应用程序运行,但恕我直言会将其拉伸太远。只需安装一个合适的数据库,您就拥有了所需的所有工具。今天的计算机没有真正的开销。