public interface SerializationProvider
This interface provides a mechanism to allow the use of alternate Java Serialization implementations.
The implementation of this interface *must* be thread-safe and must have a no-arg constructor.
-
Method Summary
Modifier and TypeMethodDescriptioncreateObjectInputStream
(InputStream source) Creates a newObjectInputStream
wrapping the specifiedsource
.createObjectOutputStream
(OutputStream destination) Creates a newObjectOutputStream
wrapping the specifieddestination
.
-
Method Details
-
createObjectInputStream
Creates a newObjectInputStream
wrapping the specifiedsource
.It's extremely important that the ObjectInputStream returned by this method extends the serialization implementation's ObjectInputStream and overrides the
ObjectInputStream.resolveClass(java.io.ObjectStreamClass)
of to perform the following or the equivalent thereof:
return Class.forName(desc.getName(), true, Thread.currentThread().getContextClassLoader());
If this step isn't done, there may be problems when deserializing.
- Parameters:
source
- the source stream from which to read the Object(s) from- Returns:
- an
ObjectInputStream
- Throws:
IOException
- if an error occurs when creating the input stream
-
createObjectOutputStream
Creates a newObjectOutputStream
wrapping the specifieddestination
.- Parameters:
destination
- the destination of the serialized Object(s)- Returns:
- an
ObjectOutputStream
- Throws:
IOException
- if an error occurs when creating the output stream
-