我使用prooph
和service buses
配置了所有event source
event store
。
但是让我困惑的是一件事。我必须打电话:
我CommandBusFactory中的$eventPublisher = $this->container->get('event_publisher');
将事件发射器和事件总线粘合在一起,用于将域事件(从聚合根)通过总线调度到投影仪。如果没有这个,我的预测就不会被调用。
我的服务:link
具有Symfony DI(Extension and CompilerPass)经验的人可以帮助我吗?
答案 0 :(得分:3)
事件发布者不属于您的依赖关系链。这就是它没有被symfony DI初始化的原因。事件发布者是event store plugin
,您已正确配置symfony DI以调用方法attachToEventStore
但这不是自动完成的,而是仅在您从DI请求服务时。
要解决此问题,您需要一个事件存储工厂,它包含一个插件列表并在每个插件上调用attachToEventStore
方法。
prooph/event-store-symfony-bundle
包含factory