Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-9692

LMAX Disruptor Component: Make it compatible with async routing engine

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • 2.16.2
    • Future
    • camel-disruptor
    • None
    • Unknown

    Description

      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:

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            raulvk Raúl Kripalani
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: