Во время чтения (https://docs.camunda.org/manual/7.5/user-guide/process-engine/variables/) Я не знаю, как получить переменную?
На данный момент я изо всех сил пытаюсь выяснить, как получить доступ к ранее установленным переменным процесса. Я пробовал:
У меня есть простой процесс bpmn, в котором у меня есть начальное событие, 1 служебная задача и конечное событие, я запускаю свой процесс, передавая 2 переменные (a и b), и моя служебная задача реализует следующий класс java:
public class Addition implements JavaDelegate {
public void execute(DelegateExecution exe) throws Exception {
System.out.println("Inside calculator again");
Integer x = (Integer) exe.getVariable("a");
Integer y = (Integer) exe.getVariable("b");
int add = x+y;
System.out.println("Addition of two number is"+add);
exe.setVariable("add",add);
}
Я начинаю свой процесс следующим образом:
public void sayHello(ProcessEngine processEngine)
{
Map<String,Object> variables = new HashMap<String, Object>();
variables.put("a", 3);
variables.put("b", 5);
ProcessInstance instance= processEngine.getRuntimeService().startProcessInstanceByKey("Process_3", variables);
}
Я хочу получить доступ к переменной add
(присутствует в классе Addition) в классе sayHello? Поскольку процесс был завершен, я не могу использовать runtimeService, поэтому я попытался использовать службу истории, но не смог найти никакого решения.
Есть ли какой-нибудь Java API, который я могу использовать, или есть другой способ?