Start events define where a Process or Sub Process starts.
The process engine supports different types of start events:
- Blank
- Timer
- Message
- Signal
- Conditional
The engine requires at least one start event to instantiate a process. There can be a maximum of one blank or timer start event per process definition. There can be multiple message or signal start events.
Asynchronous Instantiation
A start event may be declared as asynchronous with camunda:asyncBefore="true"
<startEvent id="startEvent" camunda:asyncBefore="true" />
This will ensure that the process engine creates a process instance when the process is instantiated, but the execution of the initial activities is not done synchronously. Instead, a job is created and asynchronously processed by the job executor. See the Asynchronous Continuations section of the User Guide for some background information.
Camunda Extensions
Attributes | |
---|---|
camunda:asyncBefore, camunda:asyncAfter, camunda:exclusive, camunda:formHandlerClass, camunda:formKey, camunda:initiator, camunda:jobPriority | |
Extension Elements | |
——- | |
camunda:failedJobRetryTimeCycle, camunda:formData, camunda:formProperty, | |
Constraints | |
——- | |
The camunda:exclusive attribute is only evaluated if the attribute camunda:asyncBefore or camunda:asyncAfter is set to true |
|
The attributes camunda:asyncBefore and camunda:initiator are only available for start events of a Process |
|
Only one camunda:formData extension element is allowed |
|
The attributes camunda:formHandlerClass and camunda:formKey are only available for the intital start event of a Process |
原文: https://docs.camunda.org/manual/7.9/reference/bpmn20/events/start-events/