Как получить идентификатор экземпляра процесса в WSO2 BPS

У меня есть процесс bpel, который вызывается из весеннего веб-приложения. В моем процессе есть поток утверждения. В своем веб-приложении я хочу проанализировать процесс, чтобы определить, где он сейчас находится. Например: если процесс должен получить два утверждения, я хочу знать, было ли возвращено первое утверждение или аналогично. Поэтому я хочу сохранить идентификатор экземпляра процесса в базе данных моего приложения. Затем я могу вызвать некоторые службы администрирования для получения данных о процессе.

Можно ли каким-либо образом достичь этой цели?

И в то же время я хочу получить подтверждение, есть ли какая-либо административная служба для получения статуса процесса. Я знаю, что это возможно сделать с задачами человека.

Я использую WSO2 BPS 3.2.0


person Lahiru Athukorala    schedule 23.07.2015    source источник
comment
Привет. Не могли бы вы централизовать всю сферу деятельности в рамках инструмента BPM? Или хотя бы контроль задач...   -  person Wanderley    schedule 23.07.2015
comment
@Wanderley, нет, это невозможно. Согласно моему бизнес-кейсу, это должно быть зафиксировано в моем веб-приложении. Поскольку количество одобрений не фиксировано, невозможно даже отследить идентификатор задачи.   -  person Lahiru Athukorala    schedule 24.07.2015


Ответы (1)


Идентификатор экземпляра всегда доступен в переменной $ode:pid. Чтобы запросить состояние процесса, я бы воздержался от использования API администратора, а скорее реализовал бы обработчик событий в корневой (или более низкой) области, который прослушивает что-то вроде операции getStatus и использует PIID в качестве свойства корреляции. Он может ответить со статусом утверждения. Это было бы полностью совместимым с BPEL, а не хаком с использованием API PM.

person vanto    schedule 24.07.2015