2015-07-23 5 views
0

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

Есть ли способ, которым я могу достичь этой цели?

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

Я использую WSO2 БПС 3.2.0

+0

Эй. Не могли бы вы централизовать всю область действия инструмента BPM? Или, по крайней мере, управление задачами ... – Wanderley

+0

@Wanderley, Нет, это невозможно. Согласно моему бизнес-кейс, его нужно захватить в моем веб-приложении. Поскольку количество утверждений не фиксировано, даже отслеживать идентификатор задачи невозможно. –

ответ

1

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