Как стать автором
Обновить

Комментарии 7

Спасибо за статью. Подскажите, как мерджите xml-схемы Camunda? Как текст или что-то используете отдельно для визуализации мерджа xml?

Для визуализации различий можно использовать https://demo.bpmn.io/diff. С ним можно увидеть какие элементы были добавлены, поправлены. Я рекомендую мержить внося изменения в моделере, чтобы просматривать и проверять отсутствие противоречий в схеме. Теоретически, можно прокачать свой скилл и мержить на уровне xml, но есть вероятность ошибиться. Также есть линтер, который позволяет валидировать схемы: https://github.com/camunda/camunda-modeler-linter-plugin

Обгромное человеческое спасибо за ссылки!

Столкнулись с этой же болью, но к решению проблемы подошли с другой стороны: большие и сложные процессы были разбиты на множество мелких и по возможности переиспользуемых подпроцессов, а задачи в спринте планируется так, чтобы разработчики не работали над одной схемой.

Как вариант, попыткой отслеживания завершения процесса может быть триггер на таблицу в той же PostgreSQL с notify

К слову, в Zeebe есть возможность подождать завершения процесса, имеет смысл использовать, если надо синхронно ответить клиенту.

Спасибо большое за интересную статью про Camunda!

Если для Вас актуально, то для подписки на события завершения процесса можно добавить свой обработчик исторических событий. Для этого можно получить ProcessEngine и добавить обработчик в его конфигурацию:
SpringProcessEngineConfiguration config = (SpringProcessEngineConfiguration) processEngine.getProcessEngineConfiguration();

config.setHistoryEventHandler(new HistoryEventHandler() {

@Override

public void handleEvent(HistoryEvent historyEvent) {

if (HistoricProcessInstanceEventEntity.class.equals(historyEvent.getClass()) && "end".equals(historyEvent.getEventType())) {

// Событие окончания инстанса процесса } } .. }});

Зарегистрируйтесь на Хабре, чтобы оставить комментарий