intermediateEvent Processors: Subscribing vs Tracking

What is the difference between a subscribing and a tracking event processor in Axon?

A subscribing event processor receives events synchronously, on the same thread that published them, the instant they're applied — the handler runs inline, before the originating command is considered fully finished. A tracking event processor runs asynchronously on its own thread and keeps a durable token recording exactly which event it last processed, letting it catch up at its own pace. Because the command only waits for the event to be stored, not for a tracking handler to finish, tracking decouples projection speed from command speed. Tracking processors can also resume from an exact position after a restart and can replay event history on command, neither of which a subscribing processor can do. Axon defaults new processors to tracking mode precisely because these benefits apply to most real projections.

Ready to master this question?

Generate a complete walkthrough — background, the full answer in plain language, a working code example explained line by line, a real-world scenario, common mistakes, and how this same question gets asked in different ways.

Sign in to generate a response

Next Step

Continue to Why do microservices architectures typically give each service its own private database instead of sharing one database across all services?← Back to all Event-Driven Microservices questions