2017-11-13 5 views
1

Ich konfigurierte alle proophservice buses mit event source und event store.Konfiguration prooph in Symfony DI Container

Aber es ist eine Sache, die mich verwirrt. Ich muss anrufen: $eventPublisher = $this->container->get('event_publisher'); in meinem CommandBusFactory Event Event Emitter und Event Bus zusammen kleben für die Verteilung Domain-Ereignis (von Aggregat Root) throught Bus zum Projektor. Ohne dies werden meine Projektionen nicht genannt. Meine Leistungen

: link

Kann jemand mit Erfahrung in Symfony DI (Erweiterung und CompilerPass) helfen mir mit ihm?

Antwort

1

Der Ereignisverleger ist nicht Teil Ihrer Abhängigkeitskette. Aus diesem Grund wird es nicht von Symfony DI initialisiert. Der Ereignisherausgeber ist ein event store plugin und Sie haben symfony DI korrekt konfiguriert, um die Methode attachToEventStore aufzurufen. Dies geschieht jedoch nicht automatisch, sondern nur, wenn Sie den Dienst vom DI anfordern.

Um das Problem zu lösen, benötigen Sie eine Factory für den Event Store, die eine Liste von Plugins annimmt und die attachToEventStore Methode für jedes Plugin aufruft. Die prooph/event-store-symfony-bundle enthält eine solche factory

+0

Sie haben Recht. Ich habe Factory für EventStore hinzugefügt und in diesem Moment funktioniert es wie ich will. Vielen Dank! : D – gargi258

Verwandte Themen