это то, что мы называем WorkItemHandler
, ваш класс java будет настраиваемой задачей jbpm
Прежде всего установите jbpm в затмении
Создать проект jBPM в Eclipse (отметьте «Построить проект с помощью Maven»)
создать класс java, который реализует WorkItemHandler
. это будет в этом формате.
package com.example;
import org.kie.api.runtime.process.WorkItem;
import java.util.HashMap;
import java.util.Map;
import org.drools.core.process.instance.WorkItemHandler;
import org.kie.api.runtime.process.WorkItemManager;
public class WorkItemTest implements WorkItemHandler {
@Override
public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
workItem.getParameters().toString();
/**Input Variables***/
String stringVar = (String) workItem.getParameter("stringVar");
/***
*
*
* YOUR CODE
*
*/
String msg = "done";
/**Output Variables in a HashMap***/
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("Result", msg); //("name of variable", value)
manager.completeWorkItem(workItem.getId(), resultMap);
}
@Override
public void abortWorkItem(WorkItem workItem, WorkItemManager manager) {
System.out.println("Aborted ! ");
}
}
Создайте файл jar этого проекта.
Из рабочей среды go в Артефакт, загрузите банку
, нажмите на этот значок, затем артефакты ![enter image description here](https://i.stack.imgur.com/vENkG.png)
из настроек вашего проекта, go в зависимости и добавьте из репозитория загруженный артефакт ![enter image description here](https://i.stack.imgur.com/W7L8B.png)
из настроек вашего проекта, go в Deployments / Work Item Handler и добавьте новый рабочий обработчик Item : введите его имя и способ его создания (new com.example.WorkItemTest()
) ![enter image description here](https://i.stack.imgur.com/5lyFV.png)
Наконец, go для актива "WorkDefinitions", определите свою работу элемент (чтобы его можно было увидеть в инструменте конструктора рабочих процессов) следующим образом
[
"name" : "WorkItemTest",
"parameters" : [ //inputs
"stringVar " : new StringDataType(),
],
"results" : [ //outputs
"Result" : new ObjectDataType(),
],
"displayName" : "WorkItemTest",
"icon" : "defaultservicenodeicon.png"
]
Теперь вы можете найти эту задачу в «сервисных задачах» вашего инструмента конструктора рабочих процессов (см. sh before)