Tracking processor for events and AMQP

I’m reading the reference guide and I’m kinda puzzled about something. So:

  • a subscribing processor subscribe itself to a source of events and are invoked by the thread managed by the publishing mechanism;
  • a tracking processor pull its messages from a source using a thread that it manages itself;

If I want to distribute my application, for events, I need to use an AMPQ queue like rabbitMQ.

There is note in the documents which says that tracking processors are not compatible with SpringAMQPMessageSource.

If I want to do event processing in an async way the reccomended way to process all events is the Tacking Event Processor.

So my question is: if I want to have a distributed event processing which is async, I need to use a Tracking Event Processor with an AMQP queue without using SpringAMQPMessageSource?

Or I can’t use AMQP with Tracking Event Processor?

I’m a little bit confused.

In any case, do you have any example of a distributed application with both distributed command and event handling?

Thank you,


Hi Emanuele,

the TrackingEventProcessor is not compatible with AMQP. The only option you have, is to use the SubscribingProcessor. As AMQP in itself is asynchronous, this will automatically mean that handlers processing Events from an AMQP source are asynchronous as well.

There is an example project on GitHub: