import org.drools.KnowledgeBase; import org.drools.KnowledgeBaseConfiguration; import org.drools.KnowledgeBaseFactory; import org.drools.builder.KnowledgeBuilder; import org.drools.builder.KnowledgeBuilderFactory; import org.drools.builder.ResourceType; import org.drools.conf.AssertBehaviorOption; import org.drools.io.ResourceFactory; import org.drools.runtime.StatefulKnowledgeSession; import org.junit.Before; import org.junit.Test; /** * Created with IntelliJ IDEA. * User: mifang * Date: 8/6/13 * Time: 1:50 PM */ public class JittingTest { private StatefulKnowledgeSession session; @Before public void setUp() throws Exception { KnowledgeBaseConfiguration knowledgeBaseConfiguration = KnowledgeBaseFactory.newKnowledgeBaseConfiguration(); knowledgeBaseConfiguration.setOption(AssertBehaviorOption.EQUALITY); KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase(knowledgeBaseConfiguration); KnowledgeBuilder knowledgeBuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); knowledgeBuilder.add(ResourceFactory.newClassPathResource("test.drl"), ResourceType.DRL); if (knowledgeBuilder.hasErrors()) { throw new IllegalStateException("Error adding rules. Errors " + String.valueOf(knowledgeBuilder.getErrors())); } else { knowledgeBase.addKnowledgePackages(knowledgeBuilder.getKnowledgePackages()); } session = knowledgeBase.newStatefulKnowledgeSession(); } @Test public void testJitting() throws Exception { int count = 21; while (count-- > 0) { session.insert("name"); session.fireAllRules(); // insertAndFire("name" + count); } } }