Class JBossMarshaller

All Implemented Interfaces:
Marshaller, StreamingMarshaller
Direct Known Subclasses:
JBossUserMarshaller

public class JBossMarshaller extends AbstractJBossMarshaller implements StreamingMarshaller
A JBoss Marshalling based marshaller that is oriented at internal, embedded, Infinispan usage. It uses of a custom object table for Infinispan based Externalizer instances that are either internal or user defined.

The reason why this is implemented specially in Infinispan rather than resorting to Java serialization or even the more efficient JBoss serialization is that a lot of efficiency can be gained when a majority of the serialization that occurs has to do with a small set of known types such as GlobalTransaction or ReplicableCommand, and class type information can be replaced with simple magic numbers.

Unknown types (typically user data) falls back to Java serialization.

Since:
4.0
Author:
Galder ZamarreƱo, Sanne Grinovero