@Test public void testAgendaDoNotSerializeObject() throws Exception { KieSession ksession = null; try { String str = "import java.util.Collection\n" + "rule R1 when\n" + " String(this == \"x\" || this == \"y\" || this == \"z\")\n" + "then\n" + "end\n"; KieBase kbase = new KieHelper().addContent(str, ResourceType.DRL).build(); ksession = kbase.newKieSession(null, env); ksession.insert("x"); ksession.insert("y"); ksession.insert("z"); assertEquals(3, ksession.fireAllRules()); ReadSessionResult serialisedStatefulKnowledgeSession = SerializationHelper.getSerialisedStatefulKnowledgeSessionWithMessage(ksession, ksession.getKieBase(), true); ksession = serialisedStatefulKnowledgeSession.getSession(); ProtobufMessages.KnowledgeSession deserializedMessage = serialisedStatefulKnowledgeSession.getDeserializedMessage(); assertEquals(0, ksession.fireAllRules()); assertFalse(deserializedMessage.getRuleData().getAgenda().getMatchList().stream().anyMatch(ml -> { return ml.getTuple().getObjectList().size() > 0; })); } finally { if (ksession != null) { ksession.dispose(); } } }