10.3. Externalizable API


Externalizer クラスは、以下を実行するクラスです。
  • 該当するオブジェクトタイプをバイトアレイにマーシャリングします。
  • バイトアレイの内容のオブジェクトタイプのインスタンスに対するマーシャリングを解除します。
エクスターナライザーは Red Hat JBoss Data Grid により使用され、ユーザーはオブジェクトタイプをどのようにシリアライズするかを指定できます。JBoss Data Grid で使用されるマーシャリングインフラストラクチャーは、JBoss Marshalling に基づいて構築され、効率的なペイロード配信を提供し、ストリームをキャッシュすることを可能にします。ストリームキャッシングを使用すると、データに複数回アクセスできますが、通常はストリームは 1 度だけ読み取ることができます。
Externalizable インターフェースはシリアライゼーションを使用し、拡張します。このインターフェースは、JBoss Data Grid でシリアライゼーションとシリアライゼーション解除を制御するために使用されます。

10.3.1. 高度なエクスターナライザーの登録 (宣言的)

高度なエクスターナライザーがセットアップされた後に、Red Hat JBoss Data Grid で使用するためにこれを登録します。登録は以下のように宣言的に (XML で) 実行されます。

手順10.1 高度なエクスターナライザーの登録

<infinispan>
    <cache-container>
        <serialization>
            <advanced-externalizer class="Book$BookExternalizer" />
        </serialization>
    </cache-container>
</infinispan>
  1. serialization 要素を cache-container 要素に追加します。
  2. advanced-externalizer 要素を追加して、カスタムエクスターナライザーを class 属性で定義します。必要に応じて Book$BookExternalizer 値を置き換えます。

10.3.2. カスタムエクスターナライザー ID 値

高度なエクスターナライザーには必要な場合にカスタム ID を割り当てることができます。一部の ID 範囲は他のモジュールやフレームワーク用に予約されるため、その使用を避ける必要があります。
表10.1 エクスターナライザーの予約される ID 範囲
ID 範囲 対象
1000-1099 Infinispan Tree モジュール
1100-1199 Red Hat JBoss Data Grid Server モジュール
1200-1299 Hibernate Infinispan 2 次キャッシュ
1300-1399 JBoss Data Grid Lucene Directory
1400-1499 Hibernate OGM
1500-1599 Hibernate Search
1600-1699 Infinispan Query モジュール
1700-1799 Infinispan Remote Query モジュール

10.3.2.1. エクスターナライザー ID のカスタマイズ (宣言的)

高度なエクスターナライザー ID を以下のように宣言的に (XML で) カスタマイズします。

手順10.2 エクスターナライザー ID のカスタマイズ (宣言的)

<infinispan>
    <cache-container>
        <serialization>
            <advanced-externalizer id="123"
                                   class="Book$BookExternalizer"/>
        </serialization>    
    </global>
</infinispan>
  1. serialization 要素を cache-container 要素に追加します。
  2. advanced-externalizer 要素を追加して、新規の高度なエクスターナライザーについての情報を追加します。
  3. id 属性を使用してエクスターナライザー ID を定義します。選択した ID が他のモジュール用に予約された ID の範囲にないことを確認します。
  4. class 属性を使用してエクスターナライザークラスを定義します。必要に応じて Book$BookExternalizer 値を置き換えます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.