场景:异步,削峰,解耦
在类上打此注解,这些也可以写在一个configration配置文件中,以bean的方式配置,绑定等等
@RabbitListener(
bindings = @QueueBinding(value = @Queue(value = "q.column.share.data.change.column",durable = "true"),
exchange = @Exchange(value = "amp.topic",type = ExchangeTypes.TOPIC,durable = "true"),key = "m.tp.cms-data-changed.resource.*"))
在RabbitHandler中处理消息 注意,以对象的方式作为消息需要将对象序列化,即实现Serializable接口
@Header(AmqpHeaders.RECEIVED_ROUTING_KEY) String routingKey 从请求中获取到routingKey
@RabbitHandler
public void process(User user, @Header(AmqpHeaders.RECEIVED_ROUTING_KEY) String routingKey)