永続化プロバイダとしての H2 の使用
H2 はオープンソースの Java SQL データベースです。H2 永続化プロバイダはモデルプロバイダとデータプロバイダの両方をサポートします。
H2 の使用
1. ThingWorx で H2 データストアに接続する追加の永続化プロバイダインスタンスを作成する場合、「データストレージ」 > 「永続化プロバイダ」に移動し、「新規」をクリックします。
2. 「一般情報」画面で、永続化プロバイダの名前を入力します。
3. 「永続化プロバイダパッケージ」フィールドで、マジックピッカーを使用して、H2 永続化プロバイダパッケージを選択します。
4. 「コンフィギュレーション」をクリックし、H2 に接続するための以下の設定を行います。
名前
デフォルト値
注記
初期接続プールサイズ
5
起動時にプールが取得を試みる接続の数
接続取得の増分
5
プールが使い果たされた場合に取得される接続の数を指定します。
最大接続プールサイズ
100
プールが常に維持する接続の最大数
最小接続プールサイズ
5
プールが常に維持する接続の最小数
最大キャッシュ文
100
グローバル PreparedStatement キャッシュのサイズ
再試行の回数を取得
3
接続プールが新規接続の取得を試みる回数を定義します
取得再試行の遅延
10000
接続プールが取得を再試行するまで待つ時間 (ミリ秒)
チェックアウト再試行タイムアウト
1000000
プールが使い果たされた場合に getConnection の呼び出しを行うクライアントが接続がチェックインされるか取得されるまで待つミリ秒数
最大アイドル時間
0
接続が未使用のままプールされている秒数。この時間を経過すると接続が破棄されます。ゼロはアイドル接続が失効しないことを意味します。
最大接続期間
0
この時間 (秒数) より古い接続は破棄されてプールからパージされます。ゼロは最大期間が適用されないことを意味します。
ヘルパースレッド数
8
一般的に、低速な JDBC オペレーションは競合ロックを獲得しないヘルパースレッドによって実行されます。このようなオペレーションを複数のスレッドに分散させると、複数のオペレーションを同時に実行可能になり、パフォーマンスが大幅に向上します。
返されていない接続タイムアウト
0
アプリケーションが接続を取得したが、所定の期間内に接続を閉じることに失敗した場合、プールでその接続が破棄されます。ゼロはタイムアウトしないことを意味し、アプリケーション自らが接続を閉じることが求められます。
過剰接続の最大アイドル時間
300
最小プールサイズを超えた接続がプール内でアイドル状態を維持できる秒数。この時間を経過すると接続は破棄されます。ゼロはこれが適用されないことを意味し、過剰接続は破棄されません。
接続ごとの最大キャッシュ文
50
この値はコード内で頻繁に使用される文の数に調整されているので、変更することはできません。この数の準備された文が c3p0 によって 1 つのプール内の接続用にキャッシュされます。maxStatements と maxStatementsPerConnection の両方がゼロの場合、ステートメントキャッシュは有効になりません。maxStatementsPerConnection はゼロであるが maxStatements はゼロ以外の値である場合、ステートメントキャッシュは有効になり、グローバル制限が適用されます。それ以外の場合、1 回の接続でのキャッシュされる文の数に制限は設定されません。
設定する場合、アプリケーションで頻繁に使用される別個に準備された文の数に 2 または 3 を足した数を maxStatementsPerConnection として設定することで、頻繁に使用されない文では一般のキャッシュ文が呼び出されなくなります。
maxStatements はステートメントキャッシュを制御する JDBC の標準パラメータですが、ユーザーにとっては maxStatementsPerConnection の方がより直感的に使用できる場合があります。
テーブルロックのタイムアウト
10000
ロックタイムアウトの例外が発生するまでの秒数。
5. 必要な場合、エンティティとデータをマイグレーションします。
6. H2 の実装を監視および保守管理します。
* 
platform-settings.json ファイルは H2 ではオプションです。管理者はこれを使用して設定を微調整できます。