results.get( 0 ) );
// serialize session and rulebase out
ByteArrayOutputStream baos = new ByteArrayOutputStream();
StatefulKnowledgeSessionImpl ksession = new StatefulKnowledgeSessionImpl( (AbstractWorkingMemory) session );
Marshaller marshaller = MarshallerFactory.newMarshaller( ksession.getKieBase() );
marshaller.marshall( baos,
ksession );
baos.close();
GlobalResolver resolver = session.getGlobalResolver();
byte[] serializedRulebase = DroolsStreamUtils.streamOut( ruleBase );
session.dispose();
// now deserialize the rulebase, deserialize the session and test it
ruleBase = (RuleBase) DroolsStreamUtils.streamIn( serializedRulebase );
marshaller = MarshallerFactory.newMarshaller( new KnowledgeBaseImpl( ruleBase ) );
ksession = (StatefulKnowledgeSessionImpl) marshaller.unmarshall( new ByteArrayInputStream( baos.toByteArray() ),
KnowledgeBaseFactory.newKnowledgeSessionConfiguration(),
EnvironmentFactory.newEnvironment() );
session = (AbstractWorkingMemory) ksession.session;
session.setGlobalResolver( resolver );