Camunda поток с управлением Rabbitmq асинхронный - PullRequest
0 голосов
/ 26 марта 2020

Здравствуйте, ребята, я работаю над приложением microservices, используя рабочий процесс camunda и rabbitmq. Моя проблема в том, что я не знаю, как остановить поток и продолжить с сообщением кролика.

У меня есть этот простой поток: enter image description here

public class RulesDelegate implements JavaDelegate {

@Override
public void execute(DelegateExecution delegateExecution) throws Exception {

}

public class NotificationDelegate implements JavaDelegate {

@Override
public void execute(DelegateExecution delegateExecution) throws Exception {

}

Мне нужно чтобы добиться такого поведения, когда я запускаю поток, нужно оценить задачу обслуживания правил и отправить сообщение AMQP через rabbitmp на micorservices. Затем поток должен ждать ответа или какого-либо события, уведомляющего, что logi c завершен, и он может продолжить выполнение задачи службы уведомлений и там же.

Когда я запускаю поток, он не ждет, и его завершение, и я не знаю, как это остановить, надо по асин c запросить от службы к кролику. Любой совет, пожалуйста? Спасибо

1 Ответ

0 голосов
/ 27 марта 2020

Вам нужно использовать событие получения сообщения для ожидания ответа в BPMN (https://docs.camunda.org/manual/7.12/reference/bpmn20/events/message-events/#message -intermediate-catching-event )

Вы можете видеть это в этом примере: https://github.com/berndruecker/camunda-spring-boot-amqp-microservice-cloud-example/ - задача «ждать доставки товара» точно ожидает ответа на RabbitMQ.

...