Ошибка при отправке message в процесс

Здравствуйте. Помогите, пожалуйста, разобраться.
В камунде есть так называемые сообщения message, которые можно отправить в процесс как некие события. По процессу ставится гейт и за ним ожидается message с определенным именем. И если такое событие наступает, процесс продолжает движение по соответствующей ветке дальше. Но, у меня есть некая проблема. Когда кто-то другой дернул процесс и он ушел вперед, а кто-то еще отправляет, получается уже устаревший message, происходит исключение, которое выбрасывает caminda engine, дескать инстанс процесса уже не ждет этот message.

Я не смог разобраться, как сделать так, чтобы исключение это не выбрасывалось, а просто игнорировалось. Или как вариант, перед отправкой message в процесс, как проверять, ждет ли соответствующий message процесс. Подскажите, пожалуйста, что можно сделать с этим, чтобы не тупо ждать try catch исключение?

Приветствую!

Какой метод используете для отправки сообщений?
Если мне не изменяет память, какие-то из них выбрасывают exception ( correlateWithResult() ), а какие-то нет ( correlateAll() ).

Я пользуюсь вызовом rest POST /engine-rest/message, т.к. нахожусь на другой ноде, которая обслуживает мой бэк. Как мне пользоваться чем-то более удобным для работы, чем программирование рест-вызовов через рест-апи камунды?

И еще вопрос - можно ли передвинуть токен назад на нужный гейт в комьюнити версии камунды? Как это можно сделать?

Для REST-вызова есть похожие параметры:

  • all (true/false)
  • resultEnabled (true/false)

Реализовать листнер / подписчик, который будет забирать сообщения из шины событий (Kafka, RabbitMQ, etc) и транслировать их в сообщения процессного движка через REST или Java API.

В Community увы только через REST API:

Ну да, так и есть. Я вычитываю их из ActiveMQ и потом делаю POST на ноду engine.

Из описания я так и не понял, выкидывает исключение или нет движок. Буду пробовать на днях. Спасибо.

А есть альтернативы кокпиту комьюнити? С возможностью перемещения админами токенов? Или только рестами что-то программировать нужно самому?

Возможно, в excamad (GitHub - KotskinKotskin/camunda-excamad: External camunda admin portal, which make live in multi-camunda`s environment much easy #camunda) что-то есть.

А так да - только через REST.