@Test public void memoryTest() throws InterruptedException { final StatefulKnowledgeSession ksession = createKnowledgeSession(); Event myevent = new Event(); ksession.setGlobal("event", myevent); final Server node1 = new Server(1500, "server1"); new Thread( new Runnable() { public void run() { ksession.fireUntilHalt(); } }) .start(); serverHandle = ksession.insert(node1); int memory = 1500; for (int i = 0; i < 5; i++) { Thread.sleep(6000); memory = memory - 200; node1.setMemory(memory); ksession.update(serverHandle, node1); } ksession.halt(); System.out.println(myevent.getEvents()); }