16.2.2. XML を使用したキャッシュローダーの設定


以下の例では、XML を使用してキャッシュローダーを設定する方法について示しています。

手順16.1 XML を使用したキャッシュローダーの設定

  1. 新規のキャッシュローダーを作成します。

    passivationshared、および preload 設定を指定して、新規のキャッシュローダーを作成します。
    1. passivation は Red Hat JBoss Data Grid がローダーと通信する方法に影響を与えます。パッシベーションは、インメモリーキャッシュからオブジェクトを削除し、システムまたはデータベースなどの 2 次的なデータストアに書き込みます。パッシベーションはデフォルトで false です。
    2. shared は、キャッシュローダーが異なるキャッシュインスタンスによって共有されていることを示します。たとえば、クラスター内のすべてのインスタンスが、同じリモートの共有データベースと通信するために同じ JDBC 設定を使用する場合があります。shared は、デフォルトで false になります。true に設定すると、異なるキャッシュインスタンスによって重複データがキャッシュローダーに書き込まれることが避けられます。
    3. preload はデフォルトでは false に設定されます。true に設定されると、キャッシュローダーに保存されるデータは、キャッシュが起動するとメモリーにプリロードされます。これにより、キャッシュローダーのデータが起動後すぐに利用できるようになり、データのレイジーなロードの結果としてキャッシュ操作の遅れを防ぐことができます。プリロードされたデータは、ノード上でローカルのみに保存され、プリロードされたデータのレプリケーションや分散はありません。Red Hat JBoss Data Grid は、エビクションのエントリーの最大設定数のみをプリロードします。
    <persistence passivation="false" shared="false" preload="true">
    
    Copy to Clipboard Toggle word wrap
  2. 永続性とパージのセットアップ

    1. fetchPersistentState は、キャッシュの永続状態を取り込むかどうかを決定し、クラスターに参加する際にこれをローカルキャッシュストアに適用します。キャッシュストアが共有される場合、キャッシュが同じキャッシュストアにアクセスする際に、永続状態の取り込みは無視されます。複数のキャッシュローダーがこのプロパティーを true に設定する場合にキャッシュサービスを起動すると、設定の例外がスローされます。fetchPersistentState プロパティーはデフォルトでは false です。
    2. purgeSynchronously は、エクスパレーションをエビクションスレッドで発生させるかどうかを制御します。true に設定されると、エビクションスレッドは、戻り値を即時に返すのではなく、パージが終了するまでブロックします。purgeSychronously プロパティーはデフォルトで false に設定されます。キャッシュローダーがマルチスレッドパージをサポートする場合、期限の切れたエントリーを削除するために purgeThreads が使用されます。purgeThreads は、デフォルトで 1 に設定されます。マルチスレッドパージがサポートされているかを判断するには、キャッシュローダーの設定を確認します。
    3. ignoreModifications は、書き込み操作を共有キャッシュローダーではなく、ローカルファイルキャッシュローダーに許可することで、書き込みメソッドが特定のキャッシュローダーにプッシュされるかどうかを決定します。特定の場合に、一時的なアプリケーションデータは、インメモリーキャッシュと同じサーバー上のファイルベースのキャッシュローダーにのみ存在します。たとえば、これはネットワーク内のすべてのサーバーによって使用される追加の JDBC ベースのキャッシュローダーで適用されます。ignoreModifications はデフォルトではfalse です。
    <persistence passivation="false" shared="false" preload="true">
       <fileStore
               fetchPersistentState="true"
               purgerThreads="3"
               purgeSynchronously="true"
               ignoreModifications="false"
               purgeOnStartup="false"
               location="${java.io.tmpdir}" />
    
    Copy to Clipboard Toggle word wrap
  3. 非同期設定

    これらの属性は、それぞれのキャッシュローダーに固有の部分を設定します。たとえば、location 属性は、SingleFileStore がデータが含まれるファイルを維持する場所を指します。他のローダーには、さらに複雑な設定が必要な場合があります。
    <persistence passivation="false" shared="false" preload="true">
       <fileStore
               fetchPersistentState="true"
               purgerThreads="3"
               purgeSynchronously="true"
               ignoreModifications="false"
               purgeOnStartup="false"
               location="${java.io.tmpdir}" >
          <async
               enabled="true"
               flushLockTimeout="15000"
               threadPoolSize="5" />
       </fileStore>
    
    Copy to Clipboard Toggle word wrap
  4. シングルトンと Push 状態の設定

    1. singletonStore は、クラスター内の 1 つのノードのみによって変更が保存されるのを可能にします。このノードはコーディネーターと呼ばれます。コーディネーターは、インメモリー状態のキャッシュをディスクにプッシュします。この機能は、すべてのノードの enabled 属性を true に設定することによりアクティベートされます。shared パラメーターは、singletonStore を有効にした状態で同時に定義することはできません。enabled 属性はデフォルトでは false です。
    2. pushStateWhenCoordinator はデフォルトでは true に設定されます。true の場合、このプロパティーは、コーディネーターになったノードに、インメモリー状態を基礎となるキャッシュローダーに転送させます。このパラメーターは、コーディネーターがクラッシュし、新規のコーディネーターが選択される場合に役に立ちます。
    <persistence passivation="false" shared="false" preload="true">
       <fileStore
               fetchPersistentState="true"
               purgerThreads="3"
               purgeSynchronously="true"
               ignoreModifications="false"
               purgeOnStartup="false"
               location="${java.io.tmpdir}" >
          <async
               enabled="true"
               flushLockTimeout="15000"
               threadPoolSize="5" />
          <singletonStore
               enabled="true"
               pushStateWhenCoordinator="true"
               pushStateTimeout="20000" />
       </fileStore>
    </persistence>
    
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る