Как я могу получить сеанс K ie из Spring Component WorkItem Handler - PullRequest
0 голосов
/ 07 января 2020

Наличие бизнес-приложения с несколькими кьярами. HumanTask входит и покидает узел, необходимо вызвать обработчик workitem. Необходимо передать текущий процесс выполнения kiesession обработчику рабочих элементов. С родным java мы можем упомянуть в дескрипторе развертывания как

<work-item-handler> <resolver>mvel</resolver> <identifier>new com.dxc.eproc.handlers.bpmn2.supplierblacklist.SwimlaneHandler(ksession) </identifier> <parameters/> <name>JavaNode_AddSwimlanes</name> </work-item-handler>

Но, обработчик рабочего элемента Spring Component. Как мы можем получить kiesession

`@ Component (" MyTask ") publi c Класс MyTaskWorkItemHandler расширяет DefaultWorkItemHandler реализует WorkItemHandler {

public MyTaskWorkItemHandler(KieSession ksession) {
    super(ksession);
    // TODO Auto-generated constructor stub
}

@Override
public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
    System.out.println("Work item being executed " + workItem);

    ProcessInstance pi = getProcessInstance(workItem);
    String processName = pi.getProcessName();
    System.out.println("Process Name " + processName);
    manager.completeWorkItem(workItem.getId(), null);
}

@Override
public void abortWorkItem(WorkItem workItem, WorkItemManager manager) {

}

}`

...