@RabbitListener(queues = "foo")
public class MyListener {
private final ServiceA serviceA;
private final ServiceB serviceB;
public MyListener(ServiceA serviceA, ServiceB serviceB) {
this.serviceA = serviceA;
this.serviceB = serviceB;
}
@RabbitHandler
public void handleA(A a) {
this.serviceA.handle(a);
}
@RabbitHandler
public void handleB(B b) {
this.serviceB.handle(b);
}
}
1 回答
那么,它不是一个队列 . 这实际上是设计单个侦听器并根据
payload
类型分发到其方法的架构决策 .作为一种解决方法,我建议您将逻辑从单个
@RabbitListener
委托给那些业务服务: