Таймер (Timer)
Событие типа Таймер срабатывает по истечении определенного периода времени.
Время срабатывания может быть указано в абсолютной форме (конкретное время или дата) или в относительной (в виде повторяющихся интервалов или длительности).
Таймер изображается внутри события в виде часов:

Увеличить
Пример XML представления таймера в событии:
timerEventDefinition type=xml<bpmn2:timerEventDefinition id="b2bb3b36-9fc6-45ad-88e6-ae41f690dbca"> <bpmn2:timeCycle xsi:type="bpmn2:tFormalExpression" id="bbf96374-f307-440a-b4d9-f41a1ed312d7"><![CDATA[PT5M]]></bpmn2:timeCycle> </bpmn2:timerEventDefinition>
При редактировании типа
Таймер в таблице "Event Definitions" появляется следующее окно:
Увеличить
В поле "Timer Type" (тип таймера) необходимо выбрать одно из следующих значений:
Time/Date- ввод конкретной даты и времени;Interval- задание временного интервала;Duration- задание длительности ожидания.
В поле "Value" вводится значение в формате, соответствующем типу таймера:
-
java.util.Date в соответствии с ISO8601 для
Time/Date.ПримерTime/Date:- 2011-03-11T12:13:14 - таймер сработает 11 марта 2011 года в 12:13:14
Пример кода:timerEventDefinition type=xml<bpmn2:timerEventDefinition id="d6671e81-225a-4680-a364-66a3ca1923f5"> <bpmn2:timeDate xsi:type="bpmn2:tFormalExpression" id="a37c570c-aa4d-4083-bfa6-dbde356cbfcb"><![CDATA[2011-03-11T12:13:14]]></bpmn2:timeDate> </bpmn2:timerEventDefinition> -
ISO8601 Repeating Intervals для
Interval.ПримерInterval:- 2007-03-01T13:00:00Z/2008-05-11T15:30:00Z - указание начальной и конечной даты;
- 2007-03-01T13:00:00Z/P1Y2M10DT2H30M - указание начальной даты и длительности;
- P1Y2M10DT2H30M/2008-05-11T15:30:00Z - указание длительности и конечной даты.
Пример кода:timerEventDefinition type=xml<bpmn2:timerEventDefinition id="d6671e81-225a-4680-a364-66a3ca1923f5"> <bpmn2:timeCycle xsi:type="bpmn2:tFormalExpression" id="a37c570c-aa4d-4083-bfa6-dbde356cbfcb">2007-03-01T13:00:00Z/2008-05-11T15:30:00Z</bpmn2:timeCycle> </bpmn2:timerEventDefinition> -
ISO8601 Durations для
Duration.ПримерDuration:- P2D - таймер истечет через 2 дня. Этот же период можно представить в часах, тогда выражение будет выглядеть так: PT48H;
- PT24H - таймер истечет через 24 часа;
- PT3H - таймер истечет через 3 часа;
- PT30M- таймер истечет через 30 минут;
- P6W - таймер истечет через 6 недель;
- P2Y10M15DT10H30M20S - срок исполнения задачи истечет через 2 года, 10 месяцев, 15 дней, 10 часов, 30 минут, 20 секунд.
Пример кода:timerEventDefinition type=xml<bpmn2:timerEventDefinition id="d6671e81-225a-4680-a364-66a3ca1923f5"> <bpmn2:timeDuration xsi:type="bpmn2:tFormalExpression" id="a37c570c-aa4d-4083-bfa6-dbde356cbfcb"><![CDATA[P2D]]></bpmn2:timeDuration> </bpmn2:timerEventDefinition>
Допускается указание в поле "Value" переменной, содержащей значение таймера. Для этого нужно использовать выражение
${timer}, где timer - переменная.Пример кода:
timerEventDefinition type=xml<bpmn2:timerEventDefinition id="d6671e81-225a-4680-a364-66a3ca1923f5"> <bpmn2:timeDuration xsi:type="bpmn2:tFormalExpression" id="a37c570c-aa4d-4083-bfa6-dbde356cbfcb"><![CDATA[${timer}]]></bpmn2:timeDuration> </bpmn2:timerEventDefinition>
Таймернельзя установить дляКонечного события (End Event);Подпроцессне может иметьСтартовое событие (Start Event)сТаймером.

Увеличить