2

prooph service busesevent source和配置了所有内容event store

但这是让我感到困惑的一件事。我必须调用: $eventPublisher = $this->container->get('event_publisher');在我的CommandBusFactory中将 事件发射器和事件总线粘合在一起,以便通过总线将域事件(从聚合根)分派到投影仪。没有这个,我的预测就不会被调用。

我的服务:链接

有 Symfony DI(扩展和 CompilerPass)经验的人可以帮助我吗?

4

1 回答 1

3

事件发布者不是您的依赖链的一部分。这就是为什么它没有被 symfony DI 初始化的原因。事件发布者是一个event store plugin并且您已经正确配置了 symfony DI 来调用该方法attachToEventStore,但这不是自动完成的,只有当您从 DI 请求服务时才会这样做。

为了解决这个问题,您需要一个事件存储工厂,它采用插件列表并调用attachToEventStore每个插件的方法。prooph/event-store-symfony-bundle包含这样一个工厂

于 2017-11-13T21:16:08.750 回答