public Void execute(Context context) { StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession(); if ( workingMemoryEventlistener != null ) { ksession.addEventListener( workingMemoryEventlistener ); } else if ( agendaEventlistener != null ) { ksession.addEventListener( agendaEventlistener ); } else { ksession.addEventListener( processEventListener ); } return null; }
populateGlobals(session); LOGGER.debug("globals have been set"); session.addEventListener(new DefaultProcessEventListener() { @Override public void afterProcessCompleted(ProcessCompletedEvent event) { session.addEventListener(new DefaultProcessEventListener() { @Override public void afterProcessStarted(ProcessStartedEvent event) { session.addEventListener(new DefaultAgendaEventListener() { @Override public void beforeActivationFired(BeforeActivationFiredEvent event) {
protected void processEventListeners(StatefulKnowledgeSession ksession, Map<String, Object> variables, SessionTemplate template) { List<String> eventListeners = template.getEventListeners(); if (eventListeners != null) { for (String eventListenerDef : eventListeners) { try { EventListener listener = (EventListener) eval(eventListenerDef, variables); if (listener instanceof WorkingMemoryLogger) { // it is enough to create instance of it as it will register all the listeners internally } else if (listener instanceof ProcessEventListener) { ksession.addEventListener((ProcessEventListener) listener); } else if (listener instanceof AgendaEventListener) { ksession.addEventListener((AgendaEventListener) listener); } else if (listener instanceof WorkingMemoryEventListener) { ksession.addEventListener((WorkingMemoryEventListener) listener); } else if (listener instanceof org.drools.event.AgendaEventListener) { ((StatefulKnowledgeSessionImpl) ((KnowledgeCommandContext) ((CommandBasedStatefulKnowledgeSession) ksession) .getCommandService().getContext()).getStatefulKnowledgesession() ) .session.addEventListener((org.drools.event.AgendaEventListener)listener); } } catch (Exception e) { logger.error("Addition of event listener " + eventListenerDef + " failed due to " + e.getMessage(), e); } } } }
populateGlobals(session); LOGGER.debug("globals have been set"); session.addEventListener(new DefaultProcessEventListener() { @Override public void beforeNodeTriggered(ProcessNodeTriggeredEvent event) { session.addEventListener(new DefaultProcessEventListener() { @Override public void afterProcessStarted(ProcessStartedEvent event) { session.addEventListener(new DefaultAgendaEventListener() { @Override public void beforeActivationFired(BeforeActivationFiredEvent event) {
myksession.getWorkItemManager().registerWorkItemHandler("Human Task", hornetQHTWorkItemHandler); KnowledgeRuntimeLoggerFactory.newConsoleLogger(myksession); myksession.addEventListener(new DebugAgendaEventListener());
ksession.addEventListener(agendaEventListener); ksession.addEventListener(processEventListener); ksession.addEventListener(workingMemoryEventListener);
ksession.addEventListener(agendaEventListener); ksession.addEventListener(processEventListener); ksession.addEventListener(workingMemoryEventListener);