<div><font face="Verdana" color="#000000"><span class="038572619-03112008">Hi Drools Team,</span></font></div>
<div><font face="Verdana" color="#000000"><span class="038572619-03112008"></span></font>&nbsp;</div>
<div><font face="Verdana" color="#000000"><span class="038572619-03112008">I am trying&nbsp;out new Serialization technique introduced in&nbsp;Drools 5.0 using &quot;<font size="2">org.drools.marshalling.<font size="2">DefaultMarshaller&quot;. </font></font></span></font></div>

<div><font face="Verdana" color="#000000"><span class="038572619-03112008"></span></font>&nbsp;</div>
<div><font face="Verdana" color="#000000"><span class="038572619-03112008">The use case I am trying, is: </span></font></div>
<div><font face="Verdana" color="#000000"><span class="038572619-03112008">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Create a Stateful session. </span></font></div>
<div><font face="Verdana" color="#000000"><span class="038572619-03112008">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Then Serialize that. </span></font></div>
<div><font face="Verdana" color="#000000"><span class="038572619-03112008">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Try to load the the serialized session back. </span></font></div>
<div><font face="Verdana" color="#000000"><span class="038572619-03112008"></span></font>&nbsp;</div>
<div><font face="Verdana" color="#000000"><span class="038572619-03112008">Loading of serialized session&nbsp;is working good if, I try that in same java program &amp; same object of DefaultMarshaller is used during serialization &amp; de serialization of the Stateful session.</span></font></div>

<div><font face="Verdana" color="#000000"><span class="038572619-03112008"></span></font>&nbsp;</div>
<div><font face="Verdana" color="#000000"><span class="038572619-03112008">But, when I tried a different instance of DefaultMarshaller to read back the saved session, that is not working anymore.&nbsp;I am getting a exception :</span></font></div>

<div><font face="Verdana" color="#000000"><span class="038572619-03112008"></span></font>&nbsp;</div>
<div><font face="Verdana" color="#000000"><span class="038572619-03112008">java.lang.NullPointerException<br>&nbsp;at org.drools.common.DefaultFactHandle.&lt;init&gt;(DefaultFactHandle.java:78)<br>&nbsp;at org.drools.marshalling.InputMarshaller.readFactHandle(InputMarshaller.java:331)<br>
&nbsp;at org.drools.marshalling.InputMarshaller.readFactHandles(InputMarshaller.java:277)<br>&nbsp;at org.drools.marshalling.InputMarshaller.readSession(InputMarshaller.java:179)<br>&nbsp;at org.drools.marshalling.DefaultMarshaller.read(DefaultMarshaller.java:58)<br>
&nbsp;at org.drools.marshalling.DefaultMarshaller.read(DefaultMarshaller.java:15)<br>&nbsp;at org.drools.reteoo.ReteooRuleBase.readStatefulSession(ReteooRuleBase.java:277)<br>&nbsp;at org.drools.common.AbstractRuleBase.readStatefulSession(AbstractRuleBase.java:321)<br>
&nbsp;at com.sample.test.NewMarshallingTest.testSerializationInFile_1(NewMarshallingTest.java:79)<br>&nbsp;at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>&nbsp;at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)<br>
&nbsp;at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<br>&nbsp;at java.lang.reflect.Method.invoke(Unknown Source)<br>&nbsp;at junit.framework.TestCase.runTest(TestCase.java:154)<br>&nbsp;at junit.framework.TestCase.runBare(TestCase.java:127)<br>
&nbsp;at junit.framework.TestResult$1.protect(TestResult.java:106)<br>&nbsp;at junit.framework.TestResult.runProtected(TestResult.java:124)<br>&nbsp;at junit.framework.TestResult.run(TestResult.java:109)<br>&nbsp;at junit.framework.TestCase.run(TestCase.java:118)<br>
&nbsp;at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)<br>&nbsp;at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)<br>&nbsp;at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)<br>
&nbsp;at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)<br>&nbsp;at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)<br>&nbsp;at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)</span></font></div>

<div><font face="Verdana" color="#000000"><span class="038572619-03112008"></span></font>&nbsp;</div>
<div><font face="Verdana" color="#000000"><span class="038572619-03112008">With Drools 4.0.7 ... I can serialize a Stateful session &amp; at later point of time I can deserialize that back. For our usecase, the feature is very critical.</span></font></div>

<div><font face="Verdana" color="#000000"><span class="038572619-03112008"></span></font>&nbsp;</div>
<div><font face="Verdana" color="#000000"><span class="038572619-03112008">Does Drools 5.0 support that ?&nbsp; DefaultMarshaller is not serializable. So once a&nbsp; Stateful session is serialized. At Later point of time, I am not able to read that back.</span></font></div>

<div><font face="Verdana" color="#000000"><span class="038572619-03112008"></span></font>&nbsp;</div>
<div><font face="Verdana" color="#000000"><span class="038572619-03112008">I have attached my test files.</span></font></div>
<div><font face="Verdana" color="#000000"></font>&nbsp;</div>
<div class="Section1">
<p class="MsoNormal" align="left"><span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial">Best Regards!<br>Siddhartha</span></p></div>