6.16. カスタムキャッシュストア実装の作成


Data Grid の永続 SPI を使用してカスタムキャッシュストアを作成できます。

6.16.1. Data Grid 永続性 SPI

Data Grid Service Provider Interface (SPI) は、NonBlockingStore インターフェイスを介して外部ストレージへの読み書き操作を有効にし、以下の機能を持ちます。

JCache 準拠のベンダー間での移植性
Data Grid は、ブロッキングコードを処理するアダプターを使用して、NonBlockingStore インターフェイスと JSR-107 JCache 仕様間の互換性を維持します。
簡素化されたトランザクション統合
Data Grid はロックを自動的に処理するため、実装は永続ストアへの同時アクセスを調整する必要はありません。使用するロックモードによっては、通常、同じキーへの同時書き込みは発生しません。ただし、永続ストレージ上の操作は複数のスレッドから発信され、この動作を許容する実装を作成することを想定する必要があります。
並列反復
Data Grid を使用すると、複数のスレッドを持つ永続ストアのエントリーを繰り返すことができます。
シリアル化の減少による CPU 使用率の削減
Data Grid は、リモートで送信できるシリアル化された形式で保存されたエントリーを公開します。このため、Data Grid は永続ストレージから取得されたエントリーをデシリアライズし、ネットワークに書き込む際に再びシリアライズする必要はありません。

6.16.2. キャッシュストアの作成

NonBlockingStore API の実装により、カスタムキャッシュストアを作成することができます。

手順

  1. 適切な Data Grid の永続 SPI を実装します。
  2. カスタム設定がある場合は、ストアクラスに @ConfiguredBy アノテーションを付けます。
  3. 必要に応じてカスタムキャッシュストア設定およびビルダーを作成します。

    1. AbstractStoreConfiguration および AbstractStoreConfigurationBuilder を拡張します。
    2. オプションで以下のアノテーションをストア設定クラスに追加し、カスタム設定ビルダーが XML からキャッシュストア設定を解析できるようにします。

      • @ConfigurationFor
      • @BuiltBy

        これらのアノテーションを追加しないと、CustomStoreConfigurationBuilderAbstractStoreConfiguration で定義された共通のストア属性を解析し、追加の要素は無視されます。

        注記

        設定が @ConfigurationFor アノテーションを宣言しない場合は、Data Grid がキャッシュを初期化する際に警告メッセージがログに記録されます。

6.16.3. カスタムキャッシュストアの設定例

以下の例では、カスタムキャッシュストアの実装で Data Grid を設定する方法を示しています。

XML

<distributed-cache>
  <persistence>
    <store class="org.infinispan.persistence.example.MyInMemoryStore" />
  </persistence>
</distributed-cache>

JSON

{
  "distributed-cache": {
    "persistence" : {
      "store" : {
        "class" : "org.infinispan.persistence.example.MyInMemoryStore"
      }
    }
  }
}

YAML

distributedCache:
  persistence:
    store:
      class: "org.infinispan.persistence.example.MyInMemoryStore"

ConfigurationBuilder

Configuration config = new ConfigurationBuilder()
            .persistence()
            .addStore(CustomStoreConfigurationBuilder.class)
            .build();

6.16.4. カスタムキャッシュストアの導入

作成したキャッシュストア実装を Data Grid Server で使用するには、JAR ファイルで提供する必要があります。

前提条件

  • Data Grid Server が実行している場合は停止します。

    Data Grid は起動時にのみ JAR ファイルを読み込みます。

手順

  1. カスタムキャッシュストア実装を JAR ファイルにパッケージ化します。
  2. JAR ファイルを Data Grid Server インストールの server/lib ディレクトリーに追加します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.