Does Flowable have the ability to consume a message from a message broker such as RabbitMQ. Most of what I have found points to having to do this ourselves. Essentially, we would need to implement a message listener and call the runtime service [runtimeService.startProcessInstanceByMessage(messageName)] to publish a message within the Flowable infrastructure. Before proceeding, I wanted to confirm that there was no easier way to do this as this is behaviour I was expecting to be present within the product.
Apache Camel, Spring Integration or Mule provide this kind of integration points out of the box, so thatâs why we just provide an integration point with these frameworks. For Apache Camel you could consume the message and then start a new process instance in Flowable using a Camel route. You can have a look at the docs here http://www.flowable.org/docs/userguide/index.html#bpmnCamelTask
Thanks for the reply. I was off working on something for a little bit and Iâm coming back to this. I managed to get the functionality in place to use Apache Camel. The question Iâm asking myself is how do I start a process and pass in process variables that are read from the message on the queue.
Here is the way I had gotten it to work without Camel:
The documentation describes how to set a header for the process initiator:
from(âdirect:startWithInitiatorHeaderâ)
.setHeader(âCamelProcessInitiatorHeaderâ, constant(âkermitâ))
.to(âflowable:InitiatorCamelCallProcess?processInitiatorHeaderName=CamelProcessInitiatorHeaderâ);
Is there a way to set a header for process variables?