@Test public void testKnowledgeBaseEventSupportLeak() throws Exception { // JBRULES-3666 KieBase kbase = getKnowledgeBase(); KieBaseEventListener listener = new DefaultKieBaseEventListener(); kbase.addEventListener( listener ); kbase.addEventListener( listener ); assertEquals( 1, ( (KnowledgeBaseImpl) kbase ).getKieBaseEventListeners().size() ); kbase.removeEventListener( listener ); assertEquals( 0, ( (KnowledgeBaseImpl) kbase ).getKieBaseEventListeners().size() ); }
@Override public void addEventListener( KieBaseEventListener kieBaseEventListener ) { kieBase.addEventListener( kieBaseEventListener ); }
@Override public void addEventListener( KieBaseEventListener kieBaseEventListener ) { kieBase.addEventListener( kieBaseEventListener ); }
@Override public void addEventListener( KieBaseEventListener listener ) { getKieBase().addEventListener( listener ); }
@Override public void addEventListener( KieBaseEventListener listener ) { getKieBase().addEventListener( listener ); }
public static void main(String[] args) { KieHelper kieHelper = new KieHelper(); kieHelper.addResource(ResourceFactory.newClassPathResource("com/rules/chapter4.drl"), ResourceType.DRL); kieHelper.addResource(ResourceFactory.newClassPathResource("com/rules/chapter5.drl"), ResourceType.DRL); KieBase kieBase = kieHelper.build(); kieBase.addEventListener(new DefaultKieBaseEventListener(){ @Override public void beforeKiePackageRemoved(BeforeKiePackageRemovedEvent event) { super.beforeKiePackageRemoved(event); String packageName = event.getKiePackage().getName(); System.out.println("beforeKiePackageRemoved : " + packageName); } }); kieBase.removeKiePackage("com.rules"); KieSession kieSession = kieBase.newKieSession(); kieSession.fireAllRules(); } }
List<KieBaseEventListener> baseListeners = extendedRIF.getKieBaseEventListeners(runtimeEngine); for (KieBaseEventListener baseListener : baseListeners) { session.getKieBase().addEventListener(baseListener);
List<KieBaseEventListener> baseListeners = extendedRIF.getKieBaseEventListeners(runtimeEngine); for (KieBaseEventListener baseListener : baseListeners) { session.getKieBase().addEventListener(baseListener);