Siddhartha Banik wrote:
Hi Michal,
Thanks for your reply.
I have got a better idea about marshalling now. After I have made the
changes you suggested, the things are working now.
There is a bug in "SerializablePlaceholderResolverStrategy.java" file
Line#38. Recursive call is made inside the method "public boolean
accept(Object object)" . So marshalling is failing with stackOverflowError.
I think that is fixed... This is what I have in trunk:
public boolean accept(Object object) {
return acceptor.accept( object );
}
Doesn't look recursive to me.
The blog
"http://blog.athico.com/2008/05/efficient-binary-protocol-marshalling.html"
says :
It's still very alphaware. The following types don't yet marshall, not sure
how to handle date/time stuff at the moment. Implementations have not been
added for accumulate, collect, from and rightinputadapter.
If these issues are fixed in Drools 5.0 M2 release?
Best Regards!
Siddhartha
Siddhartha Banik wrote:
> Hi Drools Team,
>
> I am trying out new Serialization technique introduced in Drools 5.0 using
> "
> org.drools.marshalling.DefaultMarshaller".
>
> The use case I am trying, is:
> Create a Stateful session.
> Then Serialize that.
> Try to load the the serialized
> session
> back.
>
> Loading of serialized session is working good if, I try that in same java
> program & same object of DefaultMarshaller is used during serialization &
> de
> serialization of the Stateful session.
>
> But, when I tried a different instance of DefaultMarshaller to read back
> the
> saved session, that is not working anymore. I am getting a exception :
>
> java.lang.NullPointerException
> at org.drools.common.DefaultFactHandle.<init>(DefaultFactHandle.java:78)
> at
> org.drools.marshalling.InputMarshaller.readFactHandle(InputMarshaller.java:331)
> at
> org.drools.marshalling.InputMarshaller.readFactHandles(InputMarshaller.java:277)
> at
> org.drools.marshalling.InputMarshaller.readSession(InputMarshaller.java:179)
> at
> org.drools.marshalling.DefaultMarshaller.read(DefaultMarshaller.java:58)
> at
> org.drools.marshalling.DefaultMarshaller.read(DefaultMarshaller.java:15)
> at
> org.drools.reteoo.ReteooRuleBase.readStatefulSession(ReteooRuleBase.java:277)
> at
> org.drools.common.AbstractRuleBase.readStatefulSession(AbstractRuleBase.java:321)
> at
>
com.sample.test.NewMarshallingTest.testSerializationInFile_1(NewMarshallingTest.java:79)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at
>
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
> at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at
>
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> at
>
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> at
>
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> at
>
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
>
> With Drools 4.0.7 ... I can serialize a Stateful session & at later point
> of
> time I can deserialize that back. For our usecase, the feature is very
> critical.
>
> Does Drools 5.0 support that ? DefaultMarshaller is not serializable. So
> once a Stateful session is serialized. At Later point of time, I am not
> able to read that back.
>
> I have attached my test files.
>
>
> Best Regards!
> Siddhartha
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>