Activiti: приостановка задачи по внедрению альтернативного потока и повторное ее восстановление - PullRequest
0 голосов
/ 24 апреля 2019

В настоящее время у меня есть следующий дизайн процесса:

start-event -> user-task-A -> user-task-B -> end-event

Как показано, после завершения пользовательской задачи-A следует пользовательская задача-B.

Мне нужно изменить его для требования, согласно которому пользователь, работающий с пользовательской задачей-A, может приостановить его, потому что он /у нее есть несколько вопросов по этому поводу.Если это происходит, то user-task-B не нужно создавать, а вместо этого нужно создать новую пользовательскую задачу для разрешения этих запросов.И когда на эти запросы дан ответ, пользователь-задача-A должен быть восстановлен, и следует нормальный курс.

Насколько я понимаю, пользовательские задачи в activiti не могут быть приостановлены.Весь процесс должен быть приостановлен.

Как мне этого добиться?

Ответы [ 2 ]

1 голос
/ 24 апреля 2019

Здесь есть несколько вариантов.Ответ Salaboys является одним из этих вариантов.Когда мне нужно включить фрагменты встроенного процесса, я обычно использую события сигнала для запуска фрагмента, а затем ожидаю завершения (другое событие сигнала), чтобы продолжить.

Этот подход упрощает модель и позволяет поддерживать каждый изфрагменты независимо (отчасти как модульность с согласованным интерфейсом).

1 голос
/ 24 апреля 2019

Что ж, вы можете достичь этого, моделируя это требование в бизнес-процессе:

start -> user-task-A -> exclusive gateway (is task done?) 
                          -> yes -> user-task-B
                          -> no -> sub process for answering queries 
                                     -> go back to user-task-A
...