0

次のように hsqldb 1.8 サーバーを起動します。

java -cp "%classpath%;.;Y:\PlantOperations\bldPlantOperations\code\lib\jboss\hsqldb-1.8.0-10.jar;C:\Documents and Settings\BThirup\Application Data\Rockwell Automation\FactoryTalk ProductionCentre \ProcessDesigner\hsqldb-1.8.0-10.jar;C:\Documents and Settings\BThirup\Application Data\Rockwell Automation\FactoryTalk ProductionCentre\ShopOperation\hsqldb-1.8.0-10.jar;" org.hsqldb.Server -database.0 ファイル:"C:\Documents and Settings\BThirup\Application Data\Rockwell Automation\FactoryTalk ProductionCentre\logs\ApplicationLog\mydb" -dbname.0 xdb

jdbc:hsqldb:hsql://localhost/xdb;shutdown=true を使用して (順不同で) 接続する複数のクライアントがあります。

クライアントが接続されなくなったら、Hsqldb サーバーをシャットダウンします。

jdbc URLにあるようにshutdown = trueを追加すると、クライアントが接続されなくなった後にhsqldbがシャットダウンするというドキュメントを読みました。しかし、私はそれが起こっているのを見ません。

私も試しました

Properties info = new Properties();
            info.put("user", "SA");
            info.put("password", "");
            info.put("shutdown", "true");
conn = DriverManager.getConnection(dbString, info);

上記では、最後のクライアントが切断された後に hsqldb サーバーがシャットダウンすることもありません。

これに関する任意の助けをいただければ幸いです

バラ

4

1 に答える 1

0

このshutdown=trueプロパティは、サーバー接続経由ではなく、インプロセス接続で機能します。

このプロパティをサーバーの起動時にデータベースの URL に追加すると機能する場合があります。これにより、データベースがシャットダウンされ、サーバーがシャットダウンされます。

java -cp ... org.hsqldb.Server -database.0 ファイル:"C:\Documents and Settings\BThirup\Application Data\Rockwell Automation\FactoryTalk ProductionCentre\logs\ApplicationLog\mydb;shutdown=true" -dbname.0 xdb

これとは関係ありませんが、クラスパスで hsqldb-1.8.0-10.jar への参照が 1 つだけ必要です。

于 2012-04-24T18:06:56.777 に答える