Threading model when using camel with Quarkus smallrye reactive messaging

168 Views Asked by At

In Camel documentation I read that Camel might use it own thread pool in some scenarios like mention here: https://camel.apache.org/manual/threading-model.html

I want to use the camel connector with quarkus reactive messaging but I'm not sure about the threading model in that situation and I didn't find documentation for that.

In my understanding camel should use the vert.x thread pools (that are used by quarkus and reactive messaging). Do I need to configure that? or it is a default configuration when using smallrye-reactive-messaging-camel dependency?

Additionally, in case of using components with blocking IO, to avoid blocking the vert.x event loop thread pool, should I make sure it will run on the vert.x worker thread pool? or is it good practice to use a different thread pool for camel?

1

There are 1 best solutions below

1
Ozan Günalp On

Smallrye Reactive Messaging Camel connector is based on the Camel Reactive Streams Component. This component uses an internal thread pool (named CamelReactiveStreamsWorker by default) and therefore messages are scheduled on those threads and not on Vert.x event loop or worker threads.