Raúl Kripalani created CAMEL-9692:
-------------------------------------
Summary: LMAX Disruptor Component: Make it compatible with async
routing engine
Key: CAMEL-9692
URL: https://issues.apache.org/jira/browse/CAMEL-9692
Project: Camel
Issue Type: Improvement
Components: camel-disruptor
Affects Versions: 2.16.2
Reporter: Raúl Kripalani
Currently, the {{camel-disruptor}} component is not compatible with the async
routing engine.
Therefore, in an InOut scenario, it keeps the calling thread waiting until the
CountDownLatch fires.
This degree of synchronicity is contrary to a message-oriented middleware and
contrary to the philosophy of the LMAX Disruptor itself.
We should strive to make it fully async via an {{AsyncCallback}}.
According to
https://stackoverflow.com/questions/6559308/how-does-lmaxs-disruptor-pattern-work,
it should be natively possible:
bq. We also allow consumers to wait on the results of other consumers without
having to put another queuing stage between them. A consumer can simply watch
the sequence number of a consumer that it is dependent on. This avoids the need
for join stages in pipeline.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)