@Override protected void registerItems(RuntimeEngine runtime) { super.registerItems(runtime); if (getCaseEventSupport() != null) { // add any process listeners from case event listeners List<? extends EventListener> eventListener = getCaseEventSupport().getEventListeners(); for (EventListener listener : eventListener) { if (listener instanceof ProcessEventListener) { runtime.getKieSession().addEventListener((ProcessEventListener) listener); } } } }
@Override protected void registerItems(RuntimeEngine runtime) { super.registerItems(runtime); if (getCaseEventSupport() != null) { // add any process listeners from case event listeners List<? extends EventListener> eventListener = getCaseEventSupport().getEventListeners(); for (EventListener listener : eventListener) { if (listener instanceof ProcessEventListener) { runtime.getKieSession().addEventListener((ProcessEventListener) listener); } } } }
@SuppressWarnings({"rawtypes", "unchecked"}) @Override public void notifyOnDeploy(DeploymentUnit unit, DeployedUnit deployedUnit) { super.notifyOnDeploy(unit, deployedUnit); InternalRuntimeManager runtimeManager = (InternalRuntimeManager) deployedUnit.getRuntimeManager(); if (runtimeManager instanceof PerCaseRuntimeManager) { AbstractEventSupport eventSupport =((PerCaseRuntimeManager) runtimeManager).getCaseEventSupport(); Map<String, CaseEventListener> foundBeans = context.getBeansOfType(CaseEventListener.class); for (CaseEventListener listener : foundBeans.values()) { eventSupport.addEventListener(listener); logger.debug("Registering {} as case event listener on {}", listener, runtimeManager.getIdentifier()); } } }