assertSame( "these two object references should be same",
bob,
session.getObjects().iterator().next() );
Marshaller marshaller = createSerializableMarshaller( kbase );
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream out = new DroolsObjectOutputStream( baos );
out.writeObject( bob );
out.writeObject( kbase );
marshaller.marshall( out,
session );
out.flush();
out.close();
ObjectInputStream in = new DroolsObjectInputStream( new ByteArrayInputStream( baos.toByteArray() ) );
Person deserializedBob = (Person) in.readObject();
kbase = (KnowledgeBase) in.readObject();
marshaller = createSerializableMarshaller( kbase );
session = (StatefulKnowledgeSession) marshaller.unmarshall( in );
assertSame( "these two object references should be same",
deserializedBob,
session.getObjects().iterator().next() );
in.close();