6.4.4. 高度なエクスターナライザーの登録
JBoss Data Grid では、AdvancedExternalizer 実装は、XML 、またはプログラミングによる設定、あるいはアノテーションにより登録できます。
静的な内部クラスとして格納された Person オブジェクトの高度なエクスターナライザー実装は、プログラミングまたは宣言により設定できます。
宣言による設定:
以下は、高度なエクスターナライザー実装の宣言による設定の例です。
<infinispan> <global> <serialization> <advancedExternalizers> <advancedExternalizer externalizerClass="Person$PersonExternalizer"/> </advancedExternalizers> </serialization> </global> ... </infinispan>
プログラミングによる設定:
以下は、高度なエクスターナライザー実装のプログラミングによる設定の例です。
GlobalConfigurationBuilder builder = ... builder.serialization() .addAdvancedExternalizer(new Person.PersonExternalizer());
AdvancedExternalizer 実装は、使用される設定方法に関係なく、ID に関連付ける必要があります。
AdvancedExternalizer 実装の ID が XML/Programmatic 設定とアノテーションを使用して定義される場合は、XML/Programmatic で定義された値が使用されます。
以下の例は、登録時に ID が定義されるエクスターナライザーを示しています。
宣言による設定:
以下は、登録時の ID 定義の場所に対する宣言による設定です。
<infinispan> <global> <serialization> <advancedExternalizers> <advancedExternalizer id="123" externalizerClass="Person$PersonExternalizer"/> </advancedExternalizers> </serialization> </global> ... </infinispan>
プログラミングによる設定:
以下は、登録時の ID 定義の場所に対するプログラミングによる設定です。
GlobalConfigurationBuilder builder = ... builder.serialization() .addAdvancedExternalizer(123, new Person.PersonExternalizer());