Hey guys,
I’m a little bit confused about how to use a process var as delegate class in a ServiceTask.
I’m starting my process in the application:
Map<String, Object> processVars = new HashMap<String, Object>();
processVars.put("delegateClazz", "com.test.FooDelegate");
final ProcessInstance instance = runtimeService.startProcessInstanceByKey("simple-timer-task", processVars);
And that’s the corresponding process:
<bpmn2:process id="simple-timer-task" isExecutable="true">
<bpmn2:serviceTask id="ServiceTask_1" camunda:class="${delegateClazz}" name="Callback aufrufen">
<bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
</bpmn2:serviceTask>
<bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="ServiceTask_1" targetRef="EndEvent_1"/>
<bpmn2:endEvent id="EndEvent_1">
<bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
</bpmn2:endEvent>
<bpmn2:startEvent id="StartEvent_2">
<bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
</bpmn2:startEvent>
<bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="StartEvent_2" targetRef="ServiceTask_1"/>
</bpmn2:process>
And I’m ending up with error:
Caused by: java.lang.ClassNotFoundException: ${delegateClass}
Any solutions for this problem?