このコンテンツは選択した言語では利用できません。
6.4. Custom Externalizer ID Values
Advanced externalizers can be assigned custom IDs if desired. Some ID ranges are reserved for other modules or frameworks and must be avoided:
ID Range | Reserved For |
---|---|
1000-1099 | The Infinispan Tree Module |
1100-1199 | Red Hat JBoss Data Grid Server modules |
1200-1299 | Hibernate Infinispan Second Level Cache |
1300-1399 | JBoss Data Grid Lucene Directory |
1400-1499 | Hibernate OGM |
1500-1599 | Hibernate Search |
1600-1699 | Infinispan Query Module |
1700-1799 | Infinispan Remote Query Module |
6.4.1. Customize the Externalizer ID (Declaratively)
Customize the advanced externalizer ID declaratively (via XML) as follows:
Procedure 6.2. Customizing the Externalizer ID (Declaratively)
<infinispan> <global> <serialization> <advancedExternalizers> <advancedExternalizer id="$ID" externalizerClass="org.infinispan.marshall.AdvancedExternalizerTest$IdViaConfigObj$Externalizer"/> </advancedExternalizers> </serialization> </global> </infinispan>
- Add the
global
element to theinfinispan
element. - Add the
serialization
element to theglobal
element. - Add the
advancedExternalizer
element to add information about the new advanced externalizer. - Define the externalizer ID using the
id
attribute. Ensure that the selected ID is not from the range of IDs reserved for other modules. - Define the externalizer class using the
externalizerClass
attribute. Replace the $IdViaAnnotationObj and $AdvancedExternalizer values as required.
6.4.2. Customize the Externalizer ID (Programmatically)
Use the following configuration to programmatically assign a specific ID to the externalizer:
Example 6.5. Assign an ID to the Externalizer
GlobalConfiguration globalConfiguration = new GlobalConfigurationBuilder() .serialization() .addAdvancedExternalizer($ID, new Person.PersonExternalizer()) .build();
Replace the $ID with the desired ID.