Мы моделируем процессы с удвоением и выполняем упомянутые bpm с помощью двигателя camunda в среде Spring. В одном сценарии я хотел бы выполнить собственный Java-код между двумя пользовательскими задачами. Мой вывод о том, что я прочитал большую часть документации по камунде, - это то, что я лучше всего использую концепцию Service-Task.Задачи службы Camunda/Activity Service
Я хотел бы сделать две вещи, одна для хранения более одного процесса-переменной с задачей службы и два, чтобы динамически определить, какие карты переменных процесса, к которому входной параметр Службы-Task
Насколько мне известно, Camunda предлагает два способа интеграции Java-кода с сервисными задачами:
1.) Объявите Spring-компонент, реализующий интерфейс JavaDelegate. (Метод получает параметр DelegateExecution в качестве параметра). Это позволило бы мне хранить столько переменных результата, сколько мне нравится, но я не вижу возможности определять переменную-переменную-переменную-> input-variable.
2.) Объявите общий элемент Spring bean доступным для camunda и определите метод этого компонента, который будет выполняться системной задачей. Это позволяет мне указывать шаблон переменной-переменной -> input-variable через определение bpm, но сохраняет не более одной переменной результата.
Итак, есть ли способ достичь обоих?
Разъяснение
Для уточнения своих требований, по поводу моих систем-задачи могут обнаружить несогласованное состояние (в переменных базах данных или процесса). Я хотел бы, чтобы задачи сохраняли код ошибки (аналогично кодам ошибок программ «exit (1)») в переменных процесса, чтобы следующие пользовательские задачи получили возможность исправить ошибку. Этот код ошибки также может быть сохранен в фиксированном месте в переменных процесса, однако я хочу иметь возможность поместить хотя бы один «реальный результат» в указанное место.
Не совсем уверен, что вы хотели бы для того чтобы достигнуть. Вы хотите создать/обновить несколько переменных процесса из реализации служебной задачи? И откуда должно поступать входное отображение? – nre