Este conteúdo não está disponível no idioma selecionado.

6.3.2. The Externalizable API Configuration Example


To configure JBoss Data Grid's Externalizable API:
  • Provide an externalizer implementation for the type of object to be marshalled/unmarshalled.
  • Annotate the marshalled type class using {@link SerializeWith} to indicate the externalizer class.
For example:
import org.infinispan.marshall.Externalizer;
import org.infinispan.marshall.SerializeWith;
 
@SerializeWith(Person.PersonExternalizer.class)
public class Person {
 
   final String name;
   final int age;
 
   public Person(String name, int age) {
      this.name = name;
      this.age = age;
   }
 
   public static class PersonExternalizer implements Externalizer<Person> {
      @Override
      public void writeObject(ObjectOutput output, Person person)
            throws IOException {
         output.writeObject(person.name);
         output.writeInt(person.age);
      }
 
      @Override
      public Person readObject(ObjectInput input)
            throws IOException, ClassNotFoundException {
         return new Person((String) input.readObject(), input.readInt());
      }
   }
}



Copy to Clipboard Toggle word wrap
There are several disadvantages to configuring Externalizers in this manner:
  • The payload size generated using this method can be inefficient due to constraints within the model.
  • An Externalizer can be required for a class for which the source code is not available, or the source code cannot be modified.
  • The use of annotations can limit framework developers or service providers attempting to abstract lower level details, such as marshalling layer.
Voltar ao topo
Red Hat logoGithubredditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar. Explore nossas atualizações recentes.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja o Blog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

Theme

© 2025 Red Hat