16.2.2. XML を使用したキャッシュローダーの設定
以下の例では、XML を使用してキャッシュローダーを設定する方法について示しています。
手順16.1 XML を使用したキャッシュローダーの設定
新規のキャッシュローダーを作成します。
passivation、shared、およびpreload設定を指定して、新規のキャッシュローダーを作成します。passivationは Red Hat JBoss Data Grid がローダーと通信する方法に影響を与えます。パッシベーションは、インメモリーキャッシュからオブジェクトを削除し、システムまたはデータベースなどの 2 次的なデータストアに書き込みます。パッシベーションはデフォルトでfalseです。sharedは、キャッシュローダーが異なるキャッシュインスタンスによって共有されていることを示します。たとえば、クラスター内のすべてのインスタンスが、同じリモートの共有データベースと通信するために同じ JDBC 設定を使用する場合があります。sharedは、デフォルトでfalseになります。trueに設定すると、異なるキャッシュインスタンスによって重複データがキャッシュローダーに書き込まれることが避けられます。preloadはデフォルトではfalseに設定されます。trueに設定されると、キャッシュローダーに保存されるデータは、キャッシュが起動するとメモリーにプリロードされます。これにより、キャッシュローダーのデータが起動後すぐに利用できるようになり、データのレイジーなロードの結果としてキャッシュ操作の遅れを防ぐことができます。プリロードされたデータは、ノード上でローカルのみに保存され、プリロードされたデータのレプリケーションや分散はありません。Red Hat JBoss Data Grid は、エビクションのエントリーの最大設定数のみをプリロードします。
<persistence passivation="false" shared="false" preload="true">
<persistence passivation="false" shared="false" preload="true">Copy to Clipboard Copied! Toggle word wrap Toggle overflow 永続性とパージのセットアップ
fetchPersistentStateは、キャッシュの永続状態を取り込むかどうかを決定し、クラスターに参加する際にこれをローカルキャッシュストアに適用します。キャッシュストアが共有される場合、キャッシュが同じキャッシュストアにアクセスする際に、永続状態の取り込みは無視されます。複数のキャッシュローダーがこのプロパティーをtrueに設定する場合にキャッシュサービスを起動すると、設定の例外がスローされます。fetchPersistentStateプロパティーはデフォルトではfalseです。purgeSynchronouslyは、エクスパレーションをエビクションスレッドで発生させるかどうかを制御します。trueに設定されると、エビクションスレッドは、戻り値を即時に返すのではなく、パージが終了するまでブロックします。purgeSychronouslyプロパティーはデフォルトでfalseに設定されます。キャッシュローダーがマルチスレッドパージをサポートする場合、期限の切れたエントリーを削除するためにpurgeThreadsが使用されます。purgeThreadsは、デフォルトで1に設定されます。マルチスレッドパージがサポートされているかを判断するには、キャッシュローダーの設定を確認します。ignoreModificationsは、書き込み操作を共有キャッシュローダーではなく、ローカルファイルキャッシュローダーに許可することで、書き込みメソッドが特定のキャッシュローダーにプッシュされるかどうかを決定します。特定の場合に、一時的なアプリケーションデータは、インメモリーキャッシュと同じサーバー上のファイルベースのキャッシュローダーにのみ存在します。たとえば、これはネットワーク内のすべてのサーバーによって使用される追加の JDBC ベースのキャッシュローダーで適用されます。ignoreModificationsはデフォルトではfalseです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 非同期設定
これらの属性は、それぞれのキャッシュローダーに固有の部分を設定します。たとえば、location属性は、SingleFileStore がデータが含まれるファイルを維持する場所を指します。他のローダーには、さらに複雑な設定が必要な場合があります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow シングルトンと Push 状態の設定
singletonStoreは、クラスター内の 1 つのノードのみによって変更が保存されるのを可能にします。このノードはコーディネーターと呼ばれます。コーディネーターは、インメモリー状態のキャッシュをディスクにプッシュします。この機能は、すべてのノードのenabled属性をtrueに設定することによりアクティベートされます。sharedパラメーターは、singletonStoreを有効にした状態で同時に定義することはできません。enabled属性はデフォルトではfalseです。pushStateWhenCoordinatorはデフォルトではtrueに設定されます。trueの場合、このプロパティーは、コーディネーターになったノードに、インメモリー状態を基礎となるキャッシュローダーに転送させます。このパラメーターは、コーディネーターがクラッシュし、新規のコーディネーターが選択される場合に役に立ちます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow