Spring-amqp @RabbitListener注解方法签名参数 @SendTo发送注解

@RabbitListener注解的消费者监听方法,默认有几个可以自动注入的参数对象:

  • org.springframework.amqp.core.Message 消息原始对象
  • com.rabbitmq.client.Channel 接收消息所所在的channel
  • org.springframework.messaging.Message amqp的原始消息对象转换为messaging后的消息对象,该消息包含自定义消息头和标准的amqp消息头

此外,非以上参数,自定义参数对象可以通过@Header/@Headers/@Payload标注为消息头或消息体接受对象。

 

@SendTo注解,标注方法将返回对象包装为Message对象发送到指定的队列。

  • 当不指定@SendTo的value值时,将通过默认exchange发送到默认队列
  • 当指定@SendTo的value值时,将通过默认或指定的exchange发送到指定队列
    • 对于value值取值为:exchange/routingkey形式
    • a/b代表exchange为a, routingkey为b
    • 仅a代表,routingkey为a

@SendTo只在收到的Message没有replyTo属性时使用

 

你可能感兴趣的:(Spring)