blob: 05f14794bfbf4c035367166f0aee56e4590b79b9 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.0.0-rc3/javadoc/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html" />
<!-- Generated by javadoc (version 1.7.0_21) on Tue Mar 24 10:27:31 MSK 2015 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>OptimizedMarshaller (Ignite 1.0.0-RC3)</title>
<meta name="date" content="2015-03-24">
<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style">
<link rel='shortcut icon' href='http://gridgain.com/wp-content/uploads/2014/09/favicon.ico'/>
<link type='text/css' rel='stylesheet' href='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shCore.css'/>
<link type='text/css' rel='stylesheet' href='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shThemeDefault.css'/>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shCore.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shLegacy.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushJava.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushPlain.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushJScript.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushBash.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushXml.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushScala.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushGroovy.js'></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-61232409-1', 'auto');
ga('send', 'pageview');
</script></head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="OptimizedMarshaller (Ignite 1.0.0-RC3)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/OptimizedMarshaller.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>Apache Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshallerIdMapper.html" title="interface in org.apache.ignite.marshaller.optimized"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html" target="_top">Frames</a></li>
<li><a href="OptimizedMarshaller.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_org.apache.ignite.marshaller.AbstractMarshaller">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.marshaller.optimized</div>
<h2 title="Class OptimizedMarshaller" class="title">Class OptimizedMarshaller</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html" title="class in org.apache.ignite.marshaller">org.apache.ignite.marshaller.AbstractMarshaller</a></li>
<li>
<ul class="inheritance">
<li>org.apache.ignite.marshaller.optimized.OptimizedMarshaller</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/ignite/marshaller/Marshaller.html" title="interface in org.apache.ignite.marshaller">Marshaller</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">OptimizedMarshaller</span>
extends <a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html" title="class in org.apache.ignite.marshaller">AbstractMarshaller</a></pre>
<div class="block">Optimized implementation of <a href="../../../../../org/apache/ignite/marshaller/Marshaller.html" title="interface in org.apache.ignite.marshaller"><code>Marshaller</code></a>. Unlike <a href="../../../../../org/apache/ignite/marshaller/jdk/JdkMarshaller.html" title="class in org.apache.ignite.marshaller.jdk"><code>JdkMarshaller</code></a>,
which is based on standard <a href="http://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutputStream.html?is-external=true" title="class or interface in java.io"><code>ObjectOutputStream</code></a>, this marshaller does not
enforce that all serialized objects implement <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a> interface. It is also
about 20 times faster as it removes lots of serialization overhead that exists in
default JDK implementation.
<p>
<code>GridOptimizedMarshaller</code> is tested only on Java HotSpot VM on other VMs
it could yield unexpected results. It is the default marshaller on Java HotSpot VMs
and will be used if no other marshaller was explicitly configured.
<p>
<h1 class="header">Configuration</h1>
<h2 class="header">Mandatory</h2>
This marshaller has no mandatory configuration parameters.
<h2 class="header">Java Example</h2>
<pre name="code" class="java">
GridOptimizedMarshaller marshaller = new GridOptimizedMarshaller();
// Enforce Serializable interface.
marshaller.setRequireSerializable(true);
GridConfiguration cfg = new GridConfiguration();
// Override marshaller.
cfg.setMarshaller(marshaller);
// Starts grid.
G.start(cfg);
</pre>
<h2 class="header">Spring Example</h2>
GridOptimizedMarshaller can be configured from Spring XML configuration file:
<pre name="code" class="xml">
&lt;bean id="grid.custom.cfg" class="org.apache.ignite.configuration.IgniteConfiguration" singleton="true"&gt;
...
&lt;property name="marshaller"&gt;
&lt;bean class="org.apache.ignite.marshaller.optimized.GridOptimizedMarshaller"&gt;
&lt;property name="requireSerializable"&gt;true&lt;/property&gt;
&lt;/bean&gt;
&lt;/property&gt;
...
&lt;/bean&gt;
</pre>
<p>
<img src="http://ignite.incubator.apache.org/images/spring-small.png">
<br>
For information about Spring framework visit <a href="http://www.springframework.org/">www.springframework.org</a></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.ignite.marshaller.AbstractMarshaller">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.ignite.marshaller.<a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html" title="class in org.apache.ignite.marshaller">AbstractMarshaller</a></h3>
<code><a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html#ctx">ctx</a>, <a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html#DFLT_BUFFER_SIZE">DFLT_BUFFER_SIZE</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#OptimizedMarshaller()">OptimizedMarshaller</a></strong>()</code>
<div class="block">Creates new marshaller will all defaults.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#OptimizedMarshaller(boolean)">OptimizedMarshaller</a></strong>(boolean&nbsp;requireSer)</code>
<div class="block">Creates new marshaller providing whether it should
require <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a> interface or not.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#available()">available</a></strong>()</code>
<div class="block">Checks whether <code>GridOptimizedMarshaller</code> is able to work on the current JVM.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#clearCache()">clearCache</a></strong>()</code>
<div class="block">Clears internal caches and frees memory.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#marshal(java.lang.Object)">marshal</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</code>
<div class="block">Marshals object to byte array.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#marshal(java.lang.Object, java.io.OutputStream)">marshal</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj,
<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out)</code>
<div class="block">Marshals object to the output stream.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#onUndeploy(java.lang.ClassLoader)">onUndeploy</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;ldr)</code>
<div class="block">Undeployment callback invoked when class loader is being undeployed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#setIdMapper(org.apache.ignite.marshaller.optimized.OptimizedMarshallerIdMapper)">setIdMapper</a></strong>(<a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshallerIdMapper.html" title="interface in org.apache.ignite.marshaller.optimized">OptimizedMarshallerIdMapper</a>&nbsp;mapper)</code>
<div class="block">Sets ID mapper.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#setPoolSize(int)">setPoolSize</a></strong>(int&nbsp;poolSize)</code>
<div class="block">Specifies size of cached object streams used by marshaller.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#setRequireSerializable(boolean)">setRequireSerializable</a></strong>(boolean&nbsp;requireSer)</code>
<div class="block">Sets whether marshaller should require <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a> interface or not.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;T</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#unmarshal(byte[], java.lang.ClassLoader)">unmarshal</a></strong>(byte[]&nbsp;arr,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;clsLdr)</code>
<div class="block">Unmarshals object from byte array using given class loader.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;T</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html#unmarshal(java.io.InputStream, java.lang.ClassLoader)">unmarshal</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;in,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;clsLdr)</code>
<div class="block">Unmarshals object from the output stream using given class loader.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.ignite.marshaller.AbstractMarshaller">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.ignite.marshaller.<a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html" title="class in org.apache.ignite.marshaller">AbstractMarshaller</a></h3>
<code><a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html#setContext(org.apache.ignite.marshaller.MarshallerContext)">setContext</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="OptimizedMarshaller()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OptimizedMarshaller</h4>
<pre>public&nbsp;OptimizedMarshaller()</pre>
<div class="block">Creates new marshaller will all defaults.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If this marshaller is not supported on the current JVM.</dd></dl>
</li>
</ul>
<a name="OptimizedMarshaller(boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>OptimizedMarshaller</h4>
<pre>public&nbsp;OptimizedMarshaller(boolean&nbsp;requireSer)</pre>
<div class="block">Creates new marshaller providing whether it should
require <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a> interface or not.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>requireSer</code> - Whether to require <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a>.</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="setRequireSerializable(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRequireSerializable</h4>
<pre>public&nbsp;void&nbsp;setRequireSerializable(boolean&nbsp;requireSer)</pre>
<div class="block">Sets whether marshaller should require <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a> interface or not.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>requireSer</code> - Whether to require <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><code>Serializable</code></a>.</dd></dl>
</li>
</ul>
<a name="setIdMapper(org.apache.ignite.marshaller.optimized.OptimizedMarshallerIdMapper)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIdMapper</h4>
<pre>public&nbsp;void&nbsp;setIdMapper(<a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshallerIdMapper.html" title="interface in org.apache.ignite.marshaller.optimized">OptimizedMarshallerIdMapper</a>&nbsp;mapper)</pre>
<div class="block">Sets ID mapper.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>mapper</code> - ID mapper.</dd></dl>
</li>
</ul>
<a name="setPoolSize(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPoolSize</h4>
<pre>public&nbsp;void&nbsp;setPoolSize(int&nbsp;poolSize)</pre>
<div class="block">Specifies size of cached object streams used by marshaller. Object streams are cached for
performance reason to avoid costly recreation for every serialization routine. If <code>0</code> (default),
pool is not used and each thread has its own cached object stream which it keeps reusing.
<p>
Since each stream has an internal buffer, creating a stream for each thread can lead to
high memory consumption if many large messages are marshalled or unmarshalled concurrently.
Consider using pool in this case. This will limit number of streams that can be created and,
therefore, decrease memory consumption.
<p>
NOTE: Using streams pool can decrease performance since streams will be shared between
different threads which will lead to more frequent context switching.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>poolSize</code> - Streams pool size. If <code>0</code>, pool is not used.</dd></dl>
</li>
</ul>
<a name="marshal(java.lang.Object, java.io.OutputStream)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>marshal</h4>
<pre>public&nbsp;void&nbsp;marshal(@Nullable
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj,
<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out)
throws <a href="../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<div class="block">Marshals object to the output stream. This method should not close
given output stream.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>obj</code> - Object to marshal.</dd><dd><code>out</code> - Output stream to marshal into.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></code> - If marshalling failed.</dd></dl>
</li>
</ul>
<a name="marshal(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>marshal</h4>
<pre>public&nbsp;byte[]&nbsp;marshal(@Nullable
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)
throws <a href="../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<div class="block">Marshals object to byte array.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/ignite/marshaller/Marshaller.html#marshal(java.lang.Object)">marshal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/ignite/marshaller/Marshaller.html" title="interface in org.apache.ignite.marshaller">Marshaller</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html#marshal(java.lang.Object)">marshal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html" title="class in org.apache.ignite.marshaller">AbstractMarshaller</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>obj</code> - Object to marshal.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Byte array.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></code> - If marshalling failed.</dd></dl>
</li>
</ul>
<a name="unmarshal(java.io.InputStream, java.lang.ClassLoader)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>public&nbsp;<span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;T&nbsp;unmarshal(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;in,
@Nullable
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;clsLdr)
throws <a href="../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<div class="block">Unmarshals object from the output stream using given class loader.
This method should not close given input stream.</div>
<dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>T</code> - Type of unmarshalled object.</dd><dt><span class="strong">Parameters:</span></dt><dd><code>in</code> - Input stream.</dd><dd><code>clsLdr</code> - Class loader to use.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Unmarshalled object.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></code> - If unmarshalling failed.</dd></dl>
</li>
</ul>
<a name="unmarshal(byte[], java.lang.ClassLoader)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>public&nbsp;<span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;T&nbsp;unmarshal(byte[]&nbsp;arr,
@Nullable
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;clsLdr)
throws <a href="../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<div class="block">Unmarshals object from byte array using given class loader.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/ignite/marshaller/Marshaller.html#unmarshal(byte[], java.lang.ClassLoader)">unmarshal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/ignite/marshaller/Marshaller.html" title="interface in org.apache.ignite.marshaller">Marshaller</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html#unmarshal(byte[], java.lang.ClassLoader)">unmarshal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/ignite/marshaller/AbstractMarshaller.html" title="class in org.apache.ignite.marshaller">AbstractMarshaller</a></code></dd>
<dt><span class="strong">Type Parameters:</span></dt><dd><code>T</code> - Type of unmarshalled object.</dd><dt><span class="strong">Parameters:</span></dt><dd><code>arr</code> - Byte array.</dd><dd><code>clsLdr</code> - Class loader to use.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Unmarshalled object.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></code> - If unmarshalling failed.</dd></dl>
</li>
</ul>
<a name="available()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>available</h4>
<pre>public static&nbsp;boolean&nbsp;available()</pre>
<div class="block">Checks whether <code>GridOptimizedMarshaller</code> is able to work on the current JVM.
<p>
As long as <code>GridOptimizedMarshaller</code> uses JVM-private API, which is not guaranteed
to be available on all JVM, this method should be called to ensure marshaller could work properly.
<p>
Result of this method is automatically checked in constructor.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>true</code> if <code>GridOptimizedMarshaller</code> can work on the current JVM or
<code>false</code> if it can't.</dd></dl>
</li>
</ul>
<a name="onUndeploy(java.lang.ClassLoader)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onUndeploy</h4>
<pre>public static&nbsp;void&nbsp;onUndeploy(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;ldr)</pre>
<div class="block">Undeployment callback invoked when class loader is being undeployed.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ldr</code> - Class loader being undeployed.</dd></dl>
</li>
</ul>
<a name="clearCache()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>clearCache</h4>
<pre>public static&nbsp;void&nbsp;clearCache()</pre>
<div class="block">Clears internal caches and frees memory. Usually called on system stop.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/OptimizedMarshaller.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>Apache Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../org/apache/ignite/marshaller/optimized/OptimizedMarshallerIdMapper.html" title="interface in org.apache.ignite.marshaller.optimized"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/ignite/marshaller/optimized/OptimizedMarshaller.html" target="_top">Frames</a></li>
<li><a href="OptimizedMarshaller.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_org.apache.ignite.marshaller.AbstractMarshaller">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px"> <tr> <td> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <a target=_blank href="https://incubator.apache.org/projects/ignite.html"><nobr>2015 Copyright &#169; Apache Software Foundation</nobr></a> </td> </tr> </tbody> </table> </td> <td width="100%" align="right" valign="center"> <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> </td> </tr> <tr> <td colspan="2" valign="top" align="left"> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <b>Apache Ignite Fabric</b> </td> <td>:&nbsp;&nbsp; ver. <strong>1.0.0-RC3</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; March 24 2015 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
<!--FOOTER--><script type='text/javascript'>SyntaxHighlighter.all();dp.SyntaxHighlighter.HighlightAll('code');</script>
</body>
</html>