JBoss.org Community Documentation
This marshaller treats well-known objects that need marshalling - such as
MethodCall
,
Fqn
,
DataVersion
, and even some JDK objects such as
String
,
List
,
Boolean
and others as types that do not need complete class definitions.
Instead, each of these well-known types are represented by a
short
, which is a lot more efficient.
In addition, reference counting is done to reduce duplication of writing certain objects multiple times, to help keep the streams small and efficient.
Also, if
UseRegionBasedMarshalling
is enabled (disabled by default) the marshaller adds region
information to the stream before writing any data. This region information is in the form of a
String
representation of an
Fqn
. When unmarshalling, the
RegionManager
can be used to
find the relevant
Region
, and use a region-specific
ClassLoader
to unmarshall
the stream. This is specifically useful when used to cluster state for application servers, where each
deployment has
it's own
ClassLoader
. See the section below on
regions
for more information.