public WorkItemManager getWorkItemManager() { return statefulKsession.getWorkItemManager(); }
@Override public void completeWorkItem(long workItemId, Map<String, Object> outputParameters) { ksession.getWorkItemManager().completeWorkItem(workItemId, outputParameters); }
/** * This method should be invoked by an external system when it finished the * execution of a job. * This method will complete the work item associated with the passed job id. * At this point, the process associated with the work item will continue * its execution. * This method will also calculate the total execution time of the job and * pass it as an output parameter. * @param externalSystemJobId * @param parameters */ public void externalSystemJobCompleted(String externalSystemJobId, Map<String,Object> parameters){ //gets the work item id associated with the job id. Long workItemId = this.workItemsIdsMap.remove(externalSystemJobId); //calculates the execution time of the job long currentTimeMillis = System.currentTimeMillis(); Long startTime = this.jobTimestampsMap.remove(externalSystemJobId); double executionTime = (currentTimeMillis - startTime)/1000; //set the execution time in the output parameters parameters.put("trackingExecutionTime", executionTime); //Completes the work item ksession.getWorkItemManager().completeWorkItem(workItemId, parameters); }
public Object execute(Context context) { StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession(); WorkItemHandler workItemHandler = null; try { Class t = Class.forName(handler); Constructor c = t.getConstructor(KnowledgeRuntime.class); workItemHandler = (WorkItemHandler) c.newInstance(ksession); } catch (InstantiationException ex) { Logger.getLogger(RegisterRemoteWorkItemHandlerCommand.class.getName()).log(Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { Logger.getLogger(RegisterRemoteWorkItemHandlerCommand.class.getName()).log(Level.SEVERE, null, ex); } catch (IllegalArgumentException ex) { Logger.getLogger(RegisterRemoteWorkItemHandlerCommand.class.getName()).log(Level.SEVERE, null, ex); } catch (InvocationTargetException ex) { Logger.getLogger(RegisterRemoteWorkItemHandlerCommand.class.getName()).log(Level.SEVERE, null, ex); } catch (NoSuchMethodException ex) { Logger.getLogger(RegisterRemoteWorkItemHandlerCommand.class.getName()).log(Level.SEVERE, null, ex); } catch (SecurityException ex) { Logger.getLogger(RegisterRemoteWorkItemHandlerCommand.class.getName()).log(Level.SEVERE, null, ex); } catch (ClassNotFoundException ex) { Logger.getLogger(RegisterRemoteWorkItemHandlerCommand.class.getName()).log(Level.SEVERE, null, ex); } ksession.getWorkItemManager().registerWorkItemHandler(workItemName, workItemHandler); return null; }
public Void execute(Context context) { StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession(); ksession.getWorkItemManager().completeWorkItem(workItemId, results); return null; }
public Object execute(Context context) { StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession(); ksession.getWorkItemManager().registerWorkItemHandler(workItemName, handler); return null; }
public Void execute(Context context) { StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession(); ksession.getWorkItemManager().abortWorkItem( workItemId ); return null; }
private StatefulKnowledgeSession getKnowledgeSession() { StatefulKnowledgeSession session = null; session = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env); for (Map.Entry<String, WorkItemHandler> entry : this.workItemsHandlers.entrySet()) { session.getWorkItemManager().registerWorkItemHandler(entry.getKey(), entry.getValue()); } //Configures a logger for the session KnowledgeRuntimeLoggerFactory.newConsoleLogger(session); return session; } }
public WorkItem execute(Context context) { StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession(); return ((WorkItemManager) ksession.getWorkItemManager()).getWorkItem(workItemId); }
ex ); ksession.getWorkItemManager().registerWorkItemHandler( this.workItemName, workItemHandler ); return null;
throw new IllegalStateException("No WorkItemHandler Instantiated for " + workItemName); ksession.getWorkItemManager().registerWorkItemHandler(workItemName, reflectionHandler);
public void completeWorkItem(long workItemId, Map<String, Object> outputParameters) { StatefulKnowledgeSession ksession = this.getKnowledgeSession(); ksession.getWorkItemManager().completeWorkItem(workItemId, outputParameters); ksession.dispose(); }
protected void processWorkItemHandlers(StatefulKnowledgeSession ksession, Map<String, Object> variables, Properties consoleProperties, SessionTemplate template) { Map<String, String> handlers = template.getWorkItemHandlers(); if (handlers != null) { Iterator<String> workItemNames = handlers.keySet().iterator(); while (workItemNames.hasNext()) { String workItemName = (String) workItemNames.next(); String handlerDef = handlers.get(workItemName); try { WorkItemHandler handler = (WorkItemHandler) eval(handlerDef, variables); if (workItemName.equalsIgnoreCase("Human Task")) { invokeMethod("setIpAddress", handler, new Class[]{String.class}, Utils.getTaskServiceHost(consoleProperties)); invokeMethod("setPort", handler, new Class[]{int.class}, Utils.getTaskServicePort(consoleProperties)); invokeMethod("connect", handler, new Class[0], new Object[0]); } ksession.getWorkItemManager().registerWorkItemHandler(workItemName, handler); } catch (Exception e) { logger.error("Registration of work item handler " + workItemName + " failed due to " + e.getMessage(), e); } } } }
private StatefulKnowledgeSession getKnowledgeSession() { StatefulKnowledgeSession ksession = null; if (ksessionId == null) { ksession = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env); ksessionId = ksession.getId(); } else { ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( ksessionId, kbase, null, env); } for (Map.Entry<String, WorkItemHandler> entry : this.workItemsHandlers.entrySet()) { ksession.getWorkItemManager().registerWorkItemHandler(entry.getKey(), entry.getValue()); } //Configures a logger for the session KnowledgeRuntimeLoggerFactory.newConsoleLogger(ksession); return ksession; } }
myksession.getWorkItemManager().registerWorkItemHandler("Human Task", hornetQHTWorkItemHandler); KnowledgeRuntimeLoggerFactory.newConsoleLogger(myksession); myksession.addEventListener(new DebugAgendaEventListener());