Zum Beispiel habe ich einen Workflow, der sofort oder mit einer Verzögerung (startTime
Variable) beginnen kann.Wie überprüfe ich in Activiti, ob eine Variable gesetzt ist?
Direkt nach der startEvent
Ich habe eine exclusiveGateway
wo ich überprüfe, ob der Fluss weitergehen oder bis startTime
warten soll.
<exclusiveGateway id="startGateway" default="startSequenceFlow3"/>
<sequenceFlow id="startSequenceFlow1" sourceRef="startGateway" targetRef="startTimer">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${startTime != null}]]></conditionExpression>
</sequenceFlow>
Starten des Workflow eine Variable vorbei startTime
funktioniert gut, aber keine startTime
vorbei löst eine Ausnahme:
kann nicht aufgelöst werden Bezeichner 'starttime'
Was ist der beste Weg wäre, prüfen, ob startTime
gesetzt ist, da startTime != null
nicht funktioniert? Ich würde es vorziehen, eine startTime
überhaupt nicht zu passieren (nicht startTime=null
).
-Code, die ich mit der Variable verwenden:
variables.put("startTime", startTime);
ProcessInstance instance = runtimeService.startProcessInstanceByKey(processKey, variables);
oder ohne:
ProcessInstance instance = runtimeService.startProcessInstanceByKey(processKey, variables);
Statt nicht Einstellung 'startTime' überhaupt, können Sie es auf einen speziellen Wert gesetzt könnten zum Beispiel' NONE', und dann in dem Prozess prüfen, ob es auf 'NONE'-Set um zu entscheiden, was zu tun ist. – Jesper