Ausführliche Beschreibung | JBoss Marshalling is an alternative serialization API that fixes many of the
problems found in the JDK serialization API while remaining fully compatible
with java.io.Serializable and its relatives, and adds several new tunable
parameters and additional features, all of which are pluggable via factory
configuration (externalizers, class/instance lookup tables, class resolution,
and object replacement, to name a few).
.
This framework was inspired by the need for certain features unavailable with
the standard Object*Stream classes:
.
* Pluggable class resolvers, making it easy to customize classloader
policy, by implementing a small interface (rather than having to subclass
the Object*Stream classes)
* Pluggable object replacement (also without subclassing)
* Pluggable predefined class tables, which can dramatically decrease
stream size and serialization time for stream types which frequently use a
common set of classes
* Pluggable predefined instance tables, which make it easy to handle
remote references
* Pluggable externalizers which may be used to serialize classes
which are not Serializable, or for which an alternate strategy is needed
* Customizable stream headers
* Each marshaller instance is highly configurable and tunable to
maximize performance based on expected usage patterns A generalized API
which can support many different protocol implementations, including
protocols which do not necessarily provide all the above features
* Inexpensive instance creation, beneficial to applications where
many short-lived streams are used
* Support for separate class and instance caches, if the protocol
permits; useful for sending multiple messages or requests with a single
stream, with separate object graphs but retaining the class cache
|