Package org.apache.ignite.marshaller.jdk
Class JdkMarshaller
- java.lang.Object
-
- org.apache.ignite.marshaller.AbstractMarshaller
-
- org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller
-
- org.apache.ignite.marshaller.jdk.JdkMarshaller
-
- All Implemented Interfaces:
Marshaller
public class JdkMarshaller extends AbstractNodeNameAwareMarshaller
Implementation ofMarshaller
based on JDK serialization mechanism.Configuration
Mandatory
This marshaller has no mandatory configuration parameters.Java Example
JdkMarshaller
needs to be explicitly configured to override default binary marshaller - seeIgniteBinary
.JdkMarshaller marshaller = new JdkMarshaller(); IgniteConfiguration cfg = new IgniteConfiguration(); // Override default marshaller. cfg.setMarshaller(marshaller); // Starts grid. G.start(cfg);
Spring Example
JdkMarshaller can be configured from Spring XML configuration file:<bean id="grid.custom.cfg" class="org.apache.ignite.configuration.IgniteConfiguration" singleton="true"> ... <property name="marshaller"> <bean class="org.apache.ignite.marshaller.jdk.JdkMarshaller"/> </property> ... </bean>
For information about Spring framework visit www.springframework.org
-
-
Field Summary
-
Fields inherited from class org.apache.ignite.marshaller.AbstractMarshaller
ctx, DFLT_BUFFER_SIZE
-
-
Constructor Summary
Constructors Constructor Description JdkMarshaller()
Default constructor.JdkMarshaller(IgnitePredicate<String> clsFilter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected byte[]
marshal0(@Nullable Object obj)
Marshals object to byte array.protected void
marshal0(@Nullable Object obj, OutputStream out)
Marshals object to the output stream.void
onUndeploy(ClassLoader ldr)
Undeployment callback invoked when class loader is being undeployed.String
toString()
protected <T> T
unmarshal0(byte[] arr, @Nullable ClassLoader clsLdr)
Unmarshals object from byte array using given class loader.protected <T> T
unmarshal0(InputStream in, @Nullable ClassLoader clsLdr)
Unmarshals object from the input stream using given class loader.-
Methods inherited from class org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller
marshal, marshal, nodeName, unmarshal, unmarshal
-
Methods inherited from class org.apache.ignite.marshaller.AbstractMarshaller
getContext, setContext
-
-
-
-
Constructor Detail
-
JdkMarshaller
public JdkMarshaller()
Default constructor. Use this constructor with caution. It creates a JdkMarshaller instance that has class filtering DISABLED. Therefore, if it will be used on the server side to unmarshal user data received from the network, it may lead to security breaches.
-
JdkMarshaller
public JdkMarshaller(IgnitePredicate<String> clsFilter)
- Parameters:
clsFilter
- Class name filter.
-
-
Method Detail
-
marshal0
protected void marshal0(@Nullable @Nullable Object obj, OutputStream out) throws IgniteCheckedException
Marshals object to the output stream. This method should not close given output stream.- Specified by:
marshal0
in classAbstractNodeNameAwareMarshaller
- Parameters:
obj
- Object to marshal.null
object will be marshaled to binarynull
representation.out
- Output stream to marshal into.- Throws:
IgniteCheckedException
- If marshalling failed.
-
marshal0
protected byte[] marshal0(@Nullable @Nullable Object obj) throws IgniteCheckedException
Marshals object to byte array.- Specified by:
marshal0
in classAbstractNodeNameAwareMarshaller
- Parameters:
obj
- Object to marshal.null
object will be marshaled to binarynull
representation.- Returns:
- Byte array.
- Throws:
IgniteCheckedException
- If marshalling failed.
-
unmarshal0
protected <T> T unmarshal0(InputStream in, @Nullable @Nullable ClassLoader clsLdr) throws IgniteCheckedException
Unmarshals object from the input stream using given class loader. This method should not close given input stream.- Specified by:
unmarshal0
in classAbstractNodeNameAwareMarshaller
- Type Parameters:
T
- Type of unmarshalled object.- Parameters:
in
- Input stream.clsLdr
- If notnull
then given class loader will be used for unmarshal object.- Returns:
- Unmarshalled object.
- Throws:
IgniteCheckedException
- If unmarshalling failed.
-
unmarshal0
protected <T> T unmarshal0(byte[] arr, @Nullable @Nullable ClassLoader clsLdr) throws IgniteCheckedException
Unmarshals object from byte array using given class loader.- Specified by:
unmarshal0
in classAbstractNodeNameAwareMarshaller
- Type Parameters:
T
- Type of unmarshalled object.- Parameters:
arr
- Byte array.clsLdr
- If notnull
then given class loader will be used for unmarshal object.- Returns:
- Unmarshalled object.
- Throws:
IgniteCheckedException
- If unmarshalling failed.
-
onUndeploy
public void onUndeploy(ClassLoader ldr)
Undeployment callback invoked when class loader is being undeployed. Some marshallers may want to clean their internal state that uses the undeployed class loader somehow.- Specified by:
onUndeploy
in classAbstractMarshaller
- Parameters:
ldr
- Class loader being undeployed.
-
-