@Before public void setUp() { this.ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase(); pkg = new org.drools.rule.Package("org.droos.test"); pkg.setClassFieldAccessorCache( new ClassFieldAccessorCache(Thread.currentThread().getContextClassLoader())); JavaDialectRuntimeData data = new JavaDialectRuntimeData(); data.onAdd(pkg.getDialectRuntimeRegistry(), ruleBase.getRootClassLoader()); pkg.getDialectRuntimeRegistry().setDialectData("java", data); // we need to add one rule to the package because the previous deadlock was encountered // while removing rules from a package when said package is removed from the rulebase rule = new Rule("Test"); rule.setDialect("java"); rule.setConsequence( new Consequence() { public void evaluate(KnowledgeHelper knowledgeHelper, WorkingMemory workingMemory) throws Exception {} public String getName() { return "default"; } }); pkg.addRule(rule); ruleBase.addPackage(pkg); }