Sobald ein Projekt mehr als eine Handvoll Message-Handler hat, wird schnell klar, dass Belange wie Logging, Ausführungszeit-Messung oder das Wrapping in eine Datenbank-Transaktion nicht in jedem einzelnen Handler dupliziert werden sollten. Der
Symfony Messenger Bus löst genau dieses Problem mit einer Middleware-Kette, durch die jede Message vor und nach dem eigentlichen Handler läuft, ähnlich einem HTTP-Kernel-Event, nur spezifisch für den Messaging-Layer. Dieser Artikel zeigt, wie man eine eigene Middleware implementiert, sie an der richtigen Stelle in der Kette registriert, und wo die Grenze zu klassischen Event-Listenern verläuft.