public static StatefulKnowledgeSession getSerialisedStatefulKnowledgeSession(StatefulKnowledgeSession ksession,
ObjectMarshallingStrategy [] strategies,
boolean dispose) throws Exception {
Marshaller marshaller = MarshallerFactory.newMarshaller( ksession.getKieBase(), strategies );
final byte [] b1 = serializeKnowledgeSession(marshaller, ksession);
StatefulKnowledgeSession ksession2 = deserializeKnowledgeSession(marshaller, b1);
final byte[] b2 = serializeKnowledgeSession(marshaller, ksession2);
if ( !areByteArraysEqual( b1,
b2 ) ) {
}
((StatefulKnowledgeSessionImpl) ksession2).setGlobalResolver( ((StatefulKnowledgeSessionImpl) ksession).getGlobalResolver() );
if ( dispose ) {
ksession.dispose();
}
return ksession2;
}