使用symfony messenger将消息处理程序限制为多条总线
如中所述,默认情况下,消息处理程序处理来自所有消息总线的消息。但是,可以将消息处理程序限制为以下特定总线:使用symfony messenger将消息处理程序限制为多条总线,symfony,symfony-messenger,Symfony,Symfony Messenger,如中所述,默认情况下,消息处理程序处理来自所有消息总线的消息。但是,可以将消息处理程序限制为以下特定总线: # config/services.yaml services: App\MessageHandler\SomeCommandHandler: tags: [{ name: messenger.message_handler, bus: command.bus }] # prevent handlers from being registered t
# config/services.yaml
services:
App\MessageHandler\SomeCommandHandler:
tags: [{ name: messenger.message_handler, bus: command.bus }]
# prevent handlers from being registered twice (or you can remove
# the MessageHandlerInterface that autoconfigure uses to find handlers)
autoconfigure: false
现在,对于我正在进行的一个项目,我有三条总线,我希望处理程序只处理其中两条总线上的消息
有人知道实现这一点的方法吗?这只是一个猜测,但由于标记是一个数组,您能否尝试添加多个标记
# config/services.yaml
services:
App\MessageHandler\SomeCommandHandler:
tags:
- { name: messenger.message_handler, bus: command.bus }
- { name: messenger.message_handler, bus: command.bus_2 }
这很有效,谢谢!我有点困惑,因为有两个标签同名,但这似乎不是问题。