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)