GridGain™ 3.6.0e
Enterprise Edition

org.gridgain.grid.marshaller
Interface GridMarshaller

All Known Implementing Classes:
GridJBossMarshaller, GridJdkMarshaller, GridOptimizedMarshaller, GridXstreamMarshaller

public interface GridMarshaller

GridMarshaller allows to marshal or unmarshal objects in grid. It provides serialization/deserialization mechanism for all instances that are sent across networks or are otherwise serialized.

Gridgain provides the following GridMarshaller implementations:

Below are examples of marshaller configuration, usage, and injection into tasks, jobs, and SPI's.

Java Example

GridMarshaller can be explicitely configured in code.
 GridJbossMarshaller marshaller = new GridJbossMarshaller();

 GridConfigurationAdapter cfg = new GridConfigurationAdapter();

 // Override marshaller.
 cfg.setMarshaller(marshaller);

 // Starts grid.
 G.start(cfg);
 

Spring Example

GridMarshaller can be configured from Spring XML configuration file:
 <bean id="grid.custom.cfg" class="org.gridgain.grid.GridConfigurationAdapter" singleton="true">
     ...
     <property name="marshaller">
         <bean class="org.gridgain.grid.marshaller.jboss.GridJBossMarshaller"/>
     </property>
     ...
 </bean>
 


For information about Spring framework visit www.springframework.org

Injection Example

GridMarshaller can be injected in users task, job or SPI as following:
 public class MyGridJob implements GridJob {
     ...
     @GridMarshallerResource
     private GridMarshaller marshaller;

     public Serializable execute() {
         // Use marshaller to serialize/deserialize any object.
         ...
     }
 }
 
or
 public class MyGridJob implements GridJob {
     ...
     private GridMarshaller marshaller;
     ...
     @GridMarshallerResource
     public void setMarshaller(GridMarshaller marshaller) {
         this.marshaller = marshaller;
     }
     ...
 }
 

Wiki & Forum:


Wiki
Forum

 

Method Summary
 void marshal(Object obj, OutputStream out)
          Marshals object to the output stream.
<T> T
unmarshal(InputStream in, ClassLoader clsLdr)
          Unmarshalls object from the output stream using given class loader.
 

Method Detail

marshal

void marshal(@Nullable
             Object obj,
             OutputStream out)
             throws GridException
Marshals object to the output stream. This method should not close given output stream.

Throws:
GridException - If marshalling failed.
Parameters:
obj - Object to marshal.
out - Output stream to marshal into.

unmarshal

<T> T unmarshal(InputStream in,
                @Nullable
                ClassLoader clsLdr)
            throws GridException
Unmarshalls object from the output stream using given class loader. This method should not close given input stream.

Throws:
GridException - If unmarshalling failed.
Type Parameters:
T - Type of unmarshalled object.
Parameters:
in - Input stream.
clsLdr - Class loader to use.
Returns:
Unmarshalled object.

GridGain™ 3.6.0e
Enterprise Edition

GridGain - Real Time Big Data
Enterprise Edition, ver. 3.6.0e.13012012
2012 Copyright © GridGain Systems
Follow us:   Follow GridGain on Github Follow GridGain on Facebook Join GridGain User Group Follow GridGain on Twitter Follow GridGain on YouTube