3

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) を使用しています。

4

2 に答える 2

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

そして、サーバーを正常に起動しました。

于 2015-11-25T11:01:03.567 に答える
1

Liferay の hsql は、簡単なデモに適しています。これを超えるものについては、別のデータベースをお勧めします。MySql と Postgresql には、すぐに利用できる 2 つの無料オプションがあります。hsql はファイルに保存されますが、下位互換性についてはわかりません (ワークベンチが Liferay とは異なるバージョンのドライバーを使用している場合)。2 つのプロセスが 1 つのファイルに同時にアクセスすることはできません。

確かに、hsql をサーバー アプリケーションとして操作することもできますが、IMHO ではそれを拡張しすぎてしまいます。適切なデータベースをインストールするだけで、必要なすべてのツールが手に入ります。今日のコンピューターには実際のオーバーヘッドはありません。

于 2015-11-26T08:02:56.113 に答える