18.4. JDBC ベースのキャッシュストア
JdbcBinaryStore。JdbcStringBasedStore。JdbcMixedStore。
18.4.1. JdbcBinaryStores リンクのコピーリンクがクリップボードにコピーされました!
JdbcBinaryStore はすべてのキータイプをサポートします。同じテーブル行/Blob の同じハッシュ値 (キー上の hashCode メソッド) を持つすべてのキーを格納します。組み込まれるキーに共通するハッシュ値が、テーブルの行/Blob の主キーとして設定されます。このハッシュ値により、JdbcBinaryStore は大変優れた柔軟性を提供しますが、これにより平行性とスループットのレベルが下がります。
k1、k2、k3) のハッシュコードが同じである場合、同じテーブル行に格納されます。3 つの異なるスレッドが k1、k2、k3 を同時に更新しようとすると、すべてのキーが同じ行を共有するため同時には更新できないことから、順次更新する必要があります。
18.4.1.1. JdbcBinaryStore の設定 (リモートクライアントサーバーモード) リンクのコピーリンクがクリップボードにコピーされました!
JdbcBinaryStore の設定です。
手順18.7 リモートクライアントサーバーノード用に JdbcBinaryStore を設定します。
binary-keyed-jdbc-store 要素
binary-keyed-jdbc-store要素は、バイナリのキーボードから情報が入力されたキャッシュの JDBC ストアに対する設定を指定します。datasourceパラメーターはデータソースの JNDI 名を定義します。データソースの詳細については、「JDBC 」を参照してください。passivationパラメーターは、キャッシュのエントリーがパッシベートされるか (true) またはキャッシュストアが内容のコピーをメモリーに保持するか (false) を決定します。preloadパラメーターは、起動中にエントリーをキャッシュにロードするかどうかを指定します。このパラメーターの有効な値はtrueとfalseです。purgeパラメーターは、起動時にキャッスストアがパージされるかどうかを指定します。 このパラメーターの有効な値はtrueとfalseです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow binary-keyed-table 要素
binary-keyed-table要素は、バイナリーのキャッシュエントリーを格納するために使用されるデータベーステーブルに関する情報を指定します。prefixパラメーターはデータベーステーブル名のプレフィックスの文字列を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow id-column 要素
id-column要素は、キャッシュエントリーの ID を保持するデータベース列に関する情報を指定します。nameパラメーターはデータベース列の名前を指定します。typeパラメーターはデータベース列のタイプを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow data-column 要素
data-column要素には、キャッシュエントリーデータを保持するデータベース列に関する情報が含まれます。nameパラメーターはデータベース列の名前を指定します。typeパラメーターはデータベース列のタイプを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow timestamp-column 要素
timestamp-column要素は、キャッシュエントリーのタイムスタンプを保持するデータベース列に関する情報を指定します。nameパラメーターはデータベース列の名前を指定します。typeパラメーターはデータベース列のタイプを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.4.1.2. JdbcBinaryStore の設定 (ライブラリーモード) リンクのコピーリンクがクリップボードにコピーされました!
JdbcBinaryStore の設定例です。
手順18.8 ライブラリーモードの JdbcBinaryStore の設定
binaryKeyedJdbcStore 要素
binaryKeyedJdbcStore要素は、キャッシュストアを設定するための次のパラメーターを使用します。fetchPersistentStateパラメーターは、クラスターへ参加する時に永続状態が取り込まれるかを決定します。クラスター環境でレプリケーションとインバリデーションを使用している場合は、これをtrueに設定します。さらに、複数のキャッシュストアがチェーンされている場合、1 つのキャッシュストアのみがこのプロパティーを有効に設定できます。共有キャッシュストアが使用されている場合、キャッシュは、このプロパティーがtrueに設定されているにも関わらず、永続状態の転送を許可しません。fetchPersistentStateパラメーターはデフォルトではfalseに設定されます。ignoreModificationsパラメーターは、キャッシュを変更する操作 (例: 配置、削除、消去、保存など) がキャッシュストアに影響を与えるかどうかを決定します。結果として、キャッシュストアは、キャッシュと同期しなくなります。purgeOnStartupパラメーターは、初回起動時にキャッシュがパージされるかどうかを指定します。
<persistence> <binaryKeyedJdbcStore fetchPersistentState="false" ignoreModifications="false" purgeOnStartup="false">
<persistence> <binaryKeyedJdbcStore fetchPersistentState="false" ignoreModifications="false" purgeOnStartup="false">Copy to Clipboard Copied! Toggle word wrap Toggle overflow connectionPool 要素
connectionPool要素は、次のパラメーターを使用して JDBC ドライバーの接続プールを指定します。connectionUrlパラメーターは、JDBC ドライバー固有の接続 URL を指定します。usernameパラメーターには、connectionUrl経由で接続するために使用されるユーザー名が含まれます。driverClassパラメーターは、データベースに接続するために使用されるドライバーのクラス名を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow binaryKeyedTable 要素
binaryKeyedTable要素は、キャッシュエントリーを保存するテーブルを定義します。これは、キャッシュストアを設定するために以下のパラメーターを使用します。dropOnExitパラメーターは、シャットダウン時にデータベーステーブルがドロップされるかどうかを指定します。createOnStartパラメーターは、スタートアップ時にストアによってデータベーステーブルが作成されるかどうかを指定します。prefixパラメーターは、キャッシュバケットテーブルの名前を作成する際に、ターゲットキャッシュの名前に付与される文字列を定義します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow idColumn 要素
idColumn要素は、キャッシュキーまたはバケット ID が保存される列を定義します。これは以下のパラメーターを使用します。- 使用されている列の名前を指定するには、
nameパラメーターを使用します。 - 使用されている列のタイプを指定するには、
typeパラメーターを使用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dataColumn 要素
dataColumn要素は、キャッシュエントリーまたはバケットが保存される列を指定します。- 使用されている列の名前を指定するには、
nameパラメーターを使用します。 - 使用されている列のタイプを指定するには、
typeパラメーターを使用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow timestampColumn 要素
timestampColumn要素は、キャッシュエントリーまたはバケットのタイムスタンプが保存される列を指定します。- 使用されている列の名前を指定するには、
nameパラメーターを使用します。 - 使用されている列のタイプを指定するには、
typeパラメーターを使用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.4.1.3. JdbcBinaryStore のプログラムを用いた設定 リンクのコピーリンクがクリップボードにコピーされました!
JdbcBinaryStore の設定例です。
手順18.9 JdbcBinaryStore のプログラムを用いた設定 (ライブラリーモード)
新規の設定ビルダーの作成
ConfigurationBuilderを使用して、新規の設定オブジェクトを作成します。ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence()
ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence()Copy to Clipboard Copied! Toggle word wrap Toggle overflow JdbcBinaryStoreConfigurationBuilderの追加このストアに関連する特定の設定を構築するには、JdbcBinaryStore設定ビルダーを追加します。ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence() .addStore(JdbcBinaryStoreConfigurationBuilder.class)ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence() .addStore(JdbcBinaryStoreConfigurationBuilder.class)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 永続性のセットアップ
fetchPersistentStateは、キャッシュの永続状態を取り込むかどうかを決定し、クラスターに参加する際にこれをローカルキャッシュストアに適用します。キャッシュストアが共有される場合、キャッシュが同じキャッシュストアにアクセスする際に、永続状態の取り込みは無視されます。複数のキャッシュローダーがこのプロパティーをtrueに設定する場合にキャッシュサービスを起動すると、設定の例外がスローされます。fetchPersistentStateプロパティーはデフォルトではfalseです。ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence() .addStore(JdbcBinaryStoreConfigurationBuilder.class) .fetchPersistentState(false)ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence() .addStore(JdbcBinaryStoreConfigurationBuilder.class) .fetchPersistentState(false)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更の設定
ignoreModificationsは、書き込み操作を共有キャッシュローダーではなく、ローカルファイルキャッシュローダーに許可することで、書き込みメソッドが特定のキャッシュローダーにプッシュされるかどうかを決定します。特定の場合に、一時的なアプリケーションデータは、インメモリーキャッシュと同じサーバー上のファイルベースのキャッシュローダーにのみ存在します。たとえば、これはネットワーク内のすべてのサーバーによって使用される追加の JDBC ベースのキャッシュローダーで適用されます。ignoreModificationsはデフォルトではfalseです。ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence() .addStore(JdbcBinaryStoreConfigurationBuilder.class) .fetchPersistentState(false) .ignoreModifications(false)ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence() .addStore(JdbcBinaryStoreConfigurationBuilder.class) .fetchPersistentState(false) .ignoreModifications(false)Copy to Clipboard Copied! Toggle word wrap Toggle overflow パージの設定
purgeOnStartupは、初回の起動時にキャッシュがパージされるかどうかを指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow テーブルの設定
Drop Table On Exit メソッドの設定
dropOnExitは、キャッシュストアが停止している際にテーブルを破棄するかどうかを決定します。これは、デフォルトではfalseに設定されます。Create Table On Start メソッドの設定
createOnStartは、現在テーブルが存在しない場合にキャッシュストアを起動すると、テーブルを作成します。このメソッドはデフォルトではtrueです。Table Name Prefix の設定
tableNamePrefixは、データが保存されるテーブルの名前にプレフィックスを設定します。idColumnNameidColumnNameプロパティーは、キャッシュキーまたはバケット ID が保存される列を定義します。dataColumnNamedataColumnNameプロパティーは、キャッシュエントリーまたはバケット ID が保存される列を指定します。timestampColumnNametimestampColumnName要素は、キャッシュエントリーのタイムスタンプまたはバケットが保存される列を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow connectionPool 要素
connectionPool要素は、次のパラメーターを使用して JDBC ドライバーの接続プールを指定します。connectionUrlパラメーターは、JDBC ドライバー固有の接続 URL を指定します。usernameパラメーターには、connectionUrl経由で接続するために使用されるユーザー名が含まれます。driverClassパラメーターは、データベースに接続するために使用されるドライバーのクラス名を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注記
18.4.2. JdbcStringBasedStores リンクのコピーリンクがクリップボードにコピーされました!
JdbcStringBasedStore は複数のエントリーを各行にグループ化せずに、各エントリーをテーブルの独自の行に格納するため、同時負荷の下でスループットが増加します。また、各キーを String オブジェクトへマッピングする (プラグ可能な) バイジェクション (bijection) も使用します。Key2StringMapper インターフェースはバイジェクションを定義します。
DefaultTwoWayKey2StringMapper と呼ばれるデフォルトの実装が含まれています。
18.4.2.1. JdbcStringBasedStore の設定 (リモートクライアントサーバーモード) リンクのコピーリンクがクリップボードにコピーされました!
JdbcStringBasedStore のサンプル設定です。
手順18.10 リモートクライアントサーバーモードでの JdbcStringBasedStore の設定
string-keyed-jdbc-store 要素
string-keyed-jdbc-store要素は、文字列ベースのキーボードから情報が入力されたキャッシュの JDBC ストアに対する設定を指定します。datasourceパラメーターはデータソースの JNDI 名を定義します。データソースの詳細については、「JDBC 」を参照してください。passivationパラメーターは、キャッシュのエントリーがパッシベートされるか (true) またはキャッシュストアが内容のコピーをメモリーに保持するか (false) を決定します。preloadパラメーターは、起動中にエントリーをキャッシュにロードするかどうかを指定します。このパラメーターの有効な値はtrueとfalseです。purgeパラメーターは、起動時にキャッスストアがパージされるかどうかを指定します。 このパラメーターの有効な値はtrueとfalseです。sharedパラメーターは、複数のキャッシュストアインスタンスがキャッシュストアを共有する場合に使用されます。複数のキャッシュインスタンスが同じ変更内容を複数回書き込まないようにするため、このパラメーターを設定することができます。このパラメーターに有効な値はtrueとfalseです。singletonパラメーターは、シングルトンストアのキャッシュストアを有効にします。SingletonStore は、クラスター内の唯一のインスタンスが基礎となるストアと通信する場合にのみ使用される委任中のキャッシュストアです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow string-keyed-table 要素
string-keyed-table要素は、文字別ベースのキャッシュエントリーを格納するために使用されるデータベーステーブルに関する情報を指定します。prefixパラメーターはデータベーステーブル名のプレフィックスの文字列を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow id-column 要素
id-column要素は、キャッシュエントリーの ID を保持するデータベース列に関する情報を指定します。nameパラメーターは ID 列の名前を指定します。typeパラメーターは ID 列のタイプを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow data-column 要素
data-column要素には、キャッシュエントリーデータを保持するデータベース列に関する情報が含まれます。nameパラメーターはデータベース列の名前を指定します。typeパラメーターはデータベース列のタイプを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow timestamp-column 要素
timestamp-column要素は、キャッシュエントリーのタイムスタンプを保持するデータベース列に関する情報を指定します。nameパラメーターはデータベース列の名前を指定します。typeパラメーターはデータベース列のタイプを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.4.2.2. JdbcStringBasedStore 設定 (ライブラリーモード) リンクのコピーリンクがクリップボードにコピーされました!
JdbcStringBasedStore の設定例は次の通りです。
手順18.11 ライブラリーモードでの JdbcStringBasedStore の設定
stringKeyedJdbcStore 要素
stringKeyedJdbcStore要素は、キャッシュストアを設定するための次のパラメーターを使用します。fetchPersistentStateパラメーターは、クラスターへ参加する時に永続状態が取り込まれるかを決定します。クラスター環境でレプリケーションとインバリデーションを使用している場合は、これをtrueに設定します。さらに、複数のキャッシュストアがチェーンされている場合、1 つのキャッシュストアのみがこのプロパティーを有効に設定できます。共有キャッシュストアが使用されている場合、キャッシュは、このプロパティーがtrueに設定されているにも関わらず、永続状態の転送を許可しません。fetchPersistentStateパラメーターはデフォルトではfalseに設定されます。ignoreModificationsパラメーターは、キャッシュを変更する操作 (例: 配置、削除、消去、保存など) がキャッシュストアに影響を与えるかどうかを決定します。結果として、キャッシュストアは、キャッシュと同期しなくなります。purgeOnStartupパラメーターは、初回起動時にキャッシュがパージされるかどうかを指定します。key2StringMapperパラメーターは、キーをデータベーステーブルの文字列にマップするために使用される Key2StringMapper のクラス名を指定します。
<persistence> <stringKeyedJdbcStore fetchPersistentState="false" ignoreModifications="false" purgeOnStartup="false" key2StringMapper="org.infinispan.loaders.keymappers.DefaultTwoWayKey2StringMapper">
<persistence> <stringKeyedJdbcStore fetchPersistentState="false" ignoreModifications="false" purgeOnStartup="false" key2StringMapper="org.infinispan.loaders.keymappers.DefaultTwoWayKey2StringMapper">Copy to Clipboard Copied! Toggle word wrap Toggle overflow connectionPool 要素
connectionPool要素は、次のパラメーターを使用して JDBC ドライバーの接続プールを指定します。connectionUrlパラメーターは、JDBC ドライバー固有の接続 URL を指定します。usernameパラメーターには、connectionUrl経由で接続するために使用されるユーザー名が含まれます。driverClassパラメーターは、データベースに接続するために使用されるドライバーのクラス名を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow stringKeyedTable 要素
stringKeyedTable要素を追加すると、キャッシュエントリーを保存するテーブルが定義されます。これは、キャッシュストアを設定するために以下のパラメーターを使用します。dropOnExitパラメーターは、シャットダウン時にデータベーステーブルがドロップされるかどうかを指定します。createOnStartパラメーターは、スタートアップ時にストアによってデータベーステーブルが作成されるかどうかを指定します。prefixパラメーターはデータベーステーブル名のプレフィックスの文字列を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow idColumn 要素
idColumn要素は、キャッシュキーまたはバケット ID が保存される列を定義します。これは以下のパラメーターを使用します。- ID 列の名前を指定するには、
nameパラメーターを指定します。 - ID 列のタイプを指定するには、
typeパラメーターを使用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dataColumn 要素
dataColumn要素は、キャッシュエントリーまたはバケットが保存される列を指定します。- データベース列の名前を指定するには、
nameパラメーターを使用します。 - データベース列のタイプを指定するには、
typeパラメーターを使用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow timestampColumn 要素
timestampColumn要素は、キャッシュエントリーまたはバケットのタイムスタンプが保存される列を指定します。- 使用されている列の名前を指定するには、
nameパラメーターを使用します。 - 使用されている列のタイプを指定するには、
typeパラメーターを使用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.4.2.3. JdbcStringBasedStore の複数ノード設定 (リモートクライアントサーバーモード) リンクのコピーリンクがクリップボードにコピーされました!
JdbcStringBasedStore の設定になります。この設定は、複数のノードを使用しなければならない場合に使用されます。
手順18.12 リモートクライアントサーバーノード用の JdbcStringBasedStore の複数ノード設定
string-keyed-jdbc-store 要素
string-keyed-jdbc-store要素は、文字列ベースのキーボードから情報が入力されたキャッシュの JDBC ストアに対する設定を指定します。fetch-stateパラメーターは、クラスターへ参加する時にキャッシュの永続状態が取り込まれるかを決定します。複数のキャッシュストアがチェーン化されている場合に、それらの内の 1 つのみでこのプロパティーを有効にすることができます。datasourceパラメーターはデータソースの JNDI 名を定義します。データソースの詳細については、「JDBC 」を参照してください。passivationパラメーターは、キャッシュのエントリーがパッシベートされるか (true) またはキャッシュストアが内容のコピーをメモリーに保持するか (false) を決定します。preloadパラメーターは、起動中にエントリーをキャッシュにロードするかどうかを指定します。このパラメーターの有効な値はtrueとfalseです。purgeパラメーターは、起動時にキャッスストアがパージされるかどうかを指定します。 このパラメーターの有効な値はtrueとfalseです。sharedパラメーターは、複数のキャッシュストアインスタンスがキャッシュストアを共有する場合に使用されます。複数のキャッシュインスタンスが同じ変更内容を複数回書き込まないようにするため、このパラメーターを設定することができます。このパラメーターに有効な値はtrueとfalseです。singletonパラメーターは、シングルトンストアのキャッシュストアを有効にします。SingletonStore は、クラスター内の唯一のインスタンスが基礎となるストアと通信する場合にのみ使用される委譲するキャッシュストアです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow string-keyed-table 要素
string-keyed-table要素は、文字別ベースのキャッシュエントリーを格納するために使用されるデータベーステーブルに関する情報を指定します。prefixパラメーターはデータベーステーブル名のプレフィックスの文字列を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow id-column 要素
id-column要素は、キャッシュエントリーの ID を保持するデータベース列に関する情報を指定します。nameパラメーターは ID 列の名前を指定します。typeパラメーターは ID 列のタイプを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow data-column 要素
data-column要素には、キャッシュエントリーデータを保持するデータベース列に関する情報が含まれます。nameパラメーターはデータベース列の名前を指定します。typeパラメーターはデータベース列のタイプを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow timestamp-column 要素
timestamp-column要素は、キャッシュエントリーのタイムスタンプを保持するデータベース列に関する情報を指定します。nameパラメーターはタイムスタンプ列の名前を指定します。typeパラメーターはタイムスタンプ列のタイプを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.4.2.4. JdbcStringBasedStore のプログラムを使用した設定 リンクのコピーリンクがクリップボードにコピーされました!
JdbcStringBasedStore の設定例は次の通りです。
手順18.13 プログラムを使用した JdbcStringBasedStore の設定
新規設定ビルダーの作成
ConfigurationBuilderを使用して、新規の設定オブジェクトを作成します。ConfigurationBuilder builder = new ConfigurationBuilder();
ConfigurationBuilder builder = new ConfigurationBuilder();Copy to Clipboard Copied! Toggle word wrap Toggle overflow JdbcStringBasedStoreConfigurationBuilderの追加このストアに関連する特定の設定を構築するにはJdbcStringBasedStore設定ビルダーを追加します。ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class)
ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 永続性のセットアップ
fetchPersistentStateは、キャッシュの永続状態を取り込むかどうかを決定し、クラスターに参加する際にこれをローカルキャッシュストアに適用します。キャッシュストアが共有される場合、キャッシュが同じキャッシュストアにアクセスする際に、永続状態の取り込みは無視されます。複数のキャッシュローダーがこのプロパティーをtrueに設定する場合にキャッシュサービスを起動すると、設定の例外がスローされます。fetchPersistentStateプロパティーはデフォルトではfalseです。ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class) .fetchPersistentState(false)ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class) .fetchPersistentState(false)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更の設定
ignoreModificationsは、書き込み操作を共有キャッシュローダーではなく、ローカルファイルキャッシュローダーに許可することで、書き込みメソッドが特定のキャッシュローダーにプッシュされるかどうかを決定します。特定の場合に、一時的なアプリケーションデータは、インメモリーキャッシュと同じサーバー上のファイルベースのキャッシュローダーにのみ存在します。たとえば、これはネットワーク内のすべてのサーバーによって使用される追加の JDBC ベースのキャッシュローダーで適用されます。ignoreModificationsはデフォルトではfalseです。ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class) .fetchPersistentState(false) .ignoreModifications(false)ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class) .fetchPersistentState(false) .ignoreModifications(false)Copy to Clipboard Copied! Toggle word wrap Toggle overflow パージの設定
purgeOnStartupは、初回の起動時にキャッシュがパージされるかどうかを指定します。ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class) .fetchPersistentState(false) .ignoreModifications(false) .purgeOnStartup(false)ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class) .fetchPersistentState(false) .ignoreModifications(false) .purgeOnStartup(false)Copy to Clipboard Copied! Toggle word wrap Toggle overflow テーブルの設定
Drop Table On Exit メソッドの設定
dropOnExitは、キャッシュストアが停止している際にテーブルを破棄するかどうかを決定します。これは、デフォルトではfalseに設定されます。Create Table On Start メソッドの設定
createOnStartは、現在テーブルが存在しない場合にキャッシュストアを起動すると、テーブルを作成します。このメソッドはデフォルトではtrueです。Table Name Prefix の設定
tableNamePrefixは、データが保存されるテーブルの名前にプレフィックスを設定します。idColumnNameidColumnNameプロパティーは、キャッシュキーまたはバケット ID が保存される列を定義します。dataColumnNamedataColumnNameプロパティーは、キャッシュエントリーまたはバケット ID が保存される列を指定します。timestampColumnNametimestampColumnName要素は、キャッシュエントリーのタイムスタンプまたはバケットが保存される列を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow connectionPool 要素
connectionPool要素は、次のパラメーターを使用して JDBC ドライバーの接続プールを指定します。connectionUrlパラメーターは、JDBC ドライバー固有の接続 URL を指定します。usernameパラメーターには、connectionUrl経由で接続するために使用されるユーザー名が含まれます。driverClassパラメーターは、データベースに接続するために使用されるドライバーのクラス名を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注記
18.4.3. JdbcMixedStores リンクのコピーリンクがクリップボードにコピーされました!
JdbcMixedStore は、キーのタイプを基にキーを JdbcBinaryStore または JdbcStringBasedStore に委譲するハイブリッド実装です。
18.4.3.1. JdbcMixedStore の設定 (リモートクライアントサーバーモード) リンクのコピーリンクがクリップボードにコピーされました!
JdbcBinaryStore の設定です。
手順18.14 リモートクライアントサーバーモードでの JdbcMixedStore の設定
mixed-keyed-jdbc-store 要素
mixed-keyed-jdbc-store要素は、混合のキーボードから情報が入力されたキャッシュの JDBC ストアに対する設定を指定します。datasourceパラメーターはデータソースの JNDI 名を定義します。データソースの詳細については、「JDBC 」を参照してください。passivationパラメーターは、キャッシュのエントリーがパッシベートされるか (true) またはキャッシュストアが内容のコピーをメモリーに保持するか (false) を決定します。preloadパラメーターは、起動中にエントリーをキャッシュにロードするかどうかを指定します。このパラメーターの有効な値はtrueとfalseです。purgeパラメーターは、起動時にキャッスストアがパージされるかどうかを指定します。 このパラメーターの有効な値はtrueとfalseです。
<local-cache> <mixed-keyed-jdbc-store datasource="java:jboss/datasources/JdbcDS" passivation="true" preload="false" purge="false"><local-cache> <mixed-keyed-jdbc-store datasource="java:jboss/datasources/JdbcDS" passivation="true" preload="false" purge="false">Copy to Clipboard Copied! Toggle word wrap Toggle overflow binary-keyed-table 要素
binary-keyed-table要素は、混合のキャッシュエントリーを格納するために使用されるデータベーステーブルに関する情報を指定します。prefixパラメーターはデータベーステーブル名のプレフィックスの文字列を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow string-keyed-table 要素
string-keyed-table要素は、文字別ベースのキャッシュエントリーを格納するために使用されるデータベーステーブルに関する情報を指定します。prefixパラメーターはデータベーステーブル名のプレフィックスの文字列を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow id-column 要素
id-column要素は、キャッシュエントリーの ID を保持するデータベース列に関する情報を指定します。nameパラメーターは ID 列の名前を指定します。typeパラメーターは ID 列のタイプを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow data-column 要素
data-column要素には、キャッシュエントリーデータを保持するデータベース列に関する情報が含まれます。nameパラメーターはデータベース列の名前を指定します。typeパラメーターはデータベース列のタイプを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow timestamp-column 要素
timestamp-column要素は、キャッシュエントリーのタイムスタンプを保持するデータベース列に関する情報を指定します。nameパラメーターはタイムスタンプ列の名前を指定します。typeパラメーターはタイムスタンプ列のタイプを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.4.3.2. JdbcMixedStore の設定 (ライブラリーモード) リンクのコピーリンクがクリップボードにコピーされました!
mixedKeyedJdbcStore の設定例は次の通りです。
手順18.15 ライブラリーモードでの JdbcMixedStore の設定
mixedKeyedJdbcStore 要素
mixedKeyedJdbcStore要素は、キャッシュストアを設定するための次のパラメーターを使用します。fetchPersistentStateパラメーターは、クラスターへ参加する時に永続状態が取り込まれるかを決定します。クラスター環境でレプリケーションとインバリデーションを使用している場合は、これをtrueに設定します。さらに、複数のキャッシュストアがチェーンされている場合、1 つのキャッシュストアのみがこのプロパティーを有効に設定できます。共有キャッシュストアが使用されている場合、キャッシュは、このプロパティーがtrueに設定されているにも関わらず、永続状態の転送を許可しません。fetchPersistentStateパラメーターはデフォルトではfalseに設定されます。ignoreModificationsパラメーターは、キャッシュを変更する操作 (例: 配置、削除、消去、保存など) がキャッシュストアに影響を与えるかどうかを決定します。結果として、キャッシュストアは、キャッシュと同期しなくなります。purgeOnStartupパラメーターは、初回起動時にキャッシュがパージされるかどうかを指定します。key2StringMapperパラメーターは、キーをデータベーステーブルの文字列にマップするために使用される Key2StringMapper のクラス名を指定します。
<persistence> <mixedKeyedJdbcStore fetchPersistentState="false" ignoreModifications="false" purgeOnStartup="false" key2StringMapper="org.infinispan.persistence.keymappers.DefaultTwoWayKey2StringMapper">
<persistence> <mixedKeyedJdbcStore fetchPersistentState="false" ignoreModifications="false" purgeOnStartup="false" key2StringMapper="org.infinispan.persistence.keymappers.DefaultTwoWayKey2StringMapper">Copy to Clipboard Copied! Toggle word wrap Toggle overflow binaryKeyedTable 要素および stringKeyedTable 要素
binaryKeyedTableおよびstringKeyedTable要素は、キャッシュエントリーを保存するテーブルを定義します。それぞれのユーザーは以下のパラメーターを使用してキャッシュストアを設定します。dropOnExitパラメーターは、シャットダウン時にデータベーステーブルがドロップされるかどうかを指定します。createOnStartパラメーターは、スタートアップ時にストアによってデータベーステーブルが作成されるかどうかを指定します。prefixパラメーターは、キャッシュバケットテーブルの名前を作成する際に、ターゲットキャッシュの名前に付与される文字列を定義します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow idColumn 要素
idColumn要素は、キャッシュキーまたはバケット ID が保存される列を定義します。これは以下のパラメーターを使用します。- 使用されている列の名前を指定するには、
nameパラメーターを使用します。 - 使用されている列のタイプを指定するには、
typeパラメーターを使用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dataColumn 要素
dataColumn要素は、キャッシュエントリーまたはバケットが保存される列を指定します。- 使用されている列の名前を指定するには、
nameパラメーターを使用します。 - 使用されている列のタイプを指定するには、
typeパラメーターを使用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow timestampColumn 要素
timestampColumn要素は、キャッシュエントリーまたはバケットのタイムスタンプが保存される列を指定します。- 使用されている列の名前を指定するには、
nameパラメーターを使用します。 - 使用されている列のタイプを指定するには、
typeパラメーターを使用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow string-keyed-table 要素
string-keyed-table要素は、文字別ベースのキャッシュエントリーを格納するために使用されるデータベーステーブルに関する情報を指定します。prefixパラメーターはデータベーステーブル名のプレフィックスの文字列を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.4.3.3. JdbcMixedStore のプログラムを使用した設定 リンクのコピーリンクがクリップボードにコピーされました!
JdbcMixedStore の設定例です。
手順18.16 プログラムを使用した JdbcMixedStore の設定
新規の設定ビルダーを作成します。
ConfigurationBuilderを使用して、新規の設定オブジェクトを作成します。ConfigurationBuilder builder = new ConfigurationBuilder();
ConfigurationBuilder builder = new ConfigurationBuilder();Copy to Clipboard Copied! Toggle word wrap Toggle overflow JdbcMixedStoreConfigurationBuilderの追加このストアに関連する特定の設定を構築するには、JdbcMixedStore設定ビルダーを追加します。ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence().addStore(JdbcMixedStoreConfigurationBuilder.class)
ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence().addStore(JdbcMixedStoreConfigurationBuilder.class)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 永続性のセットアップ
fetchPersistentStateは、キャッシュの永続状態を取り込むかどうかを決定し、クラスターに参加する際にこれをローカルキャッシュストアに適用します。キャッシュストアが共有される場合、キャッシュが同じキャッシュストアにアクセスする際に、 は無視されます。複数のキャッシュローダーがこのプロパティーをtrueに設定する場合にキャッシュサービスを起動すると、設定の例外がスローされます。fetchPersistentStateプロパティーはデフォルトではfalseです。ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence().addStore(JdbcMixedStoreConfigurationBuilder.class) .fetchPersistentState(false)ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence().addStore(JdbcMixedStoreConfigurationBuilder.class) .fetchPersistentState(false)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更の設定
ignoreModificationsは、書き込み操作を共有キャッシュローダーではなく、ローカルファイルキャッシュローダーに許可することで、書き込みメソッドが特定のキャッシュローダーにプッシュされるかどうかを決定します。特定の場合に、一時的なアプリケーションデータは、インメモリーキャッシュと同じサーバー上のファイルベースのキャッシュローダーにのみ存在します。たとえば、これはネットワーク内のすべてのサーバーによって使用される追加の JDBC ベースのキャッシュローダーで適用されます。ignoreModificationsはデフォルトではfalseです。ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence().addStore(JdbcMixedStoreConfigurationBuilder.class) .fetchPersistentState(false) .ignoreModifications(false)ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence().addStore(JdbcMixedStoreConfigurationBuilder.class) .fetchPersistentState(false) .ignoreModifications(false)Copy to Clipboard Copied! Toggle word wrap Toggle overflow パージの設定
purgeOnStartupは、初回の起動時にキャッシュがパージされるかどうかを指定します。ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence().addStore(JdbcMixedStoreConfigurationBuilder.class) .fetchPersistentState(false) .ignoreModifications(false) .purgeOnStartup(false)ConfigurationBuilder builder = new ConfigurationBuilder(); builder.persistence().addStore(JdbcMixedStoreConfigurationBuilder.class) .fetchPersistentState(false) .ignoreModifications(false) .purgeOnStartup(false)Copy to Clipboard Copied! Toggle word wrap Toggle overflow テーブルの設定
Drop Table On Exit メソッドの設定
dropOnExitは、キャッシュストアが停止している際にテーブルを破棄するかどうかを決定します。これは、デフォルトではfalseに設定されます。Create Table On Start メソッドの設定
createOnStartは、現在テーブルが存在しない場合にキャッシュストアを起動すると、テーブルを作成します。このメソッドはデフォルトではtrueです。Table Name Prefix の設定
tableNamePrefixは、データが保存されるテーブルの名前にプレフィックスを設定します。idColumnNameidColumnNameプロパティーは、キャッシュキーまたはバケット ID が保存される列を定義します。dataColumnNamedataColumnNameプロパティーは、キャッシュエントリーまたはバケット ID が保存される列を指定します。timestampColumnNametimestampColumnName要素は、キャッシュエントリーのタイムスタンプまたはバケットが保存される列を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow connectionPool 要素
connectionPool要素は、次のパラメーターを使用して JDBC ドライバーの接続プールを指定します。connectionUrlパラメーターは、JDBC ドライバー固有の接続 URL を指定します。usernameパラメーターには、connectionUrl経由で接続するために使用されるユーザー名が含まれます。driverClassパラメーターは、データベースに接続するために使用されるドライバーのクラス名を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注記
18.4.4. キャッシュストアのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
18.4.4.1. JdbcStringBasedStore の IOExceptions リンクのコピーリンクがクリップボードにコピーされました!
JdbcStringBasedStore を使用している時に IOException Unsupported protocol version 48 エラーが発生した場合、データ列タイプが正しいタイプである BLOB や VARBINARY ではなく、VARCHAR や CLOB などに設定されていることを示しています。JdbcStringBasedStore は文字列であるキーのみを必要とし、値はバイナリー列に保存されるため、すべてのデータタイプを値に使用できます。