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)

Reply via email to