仅作备忘,
org.springframework.amqp.core.Message 只能接收简单消息,像字符串、数字这种
org.springframework.messaging.Message 可以接收复杂类型,像对象
com.rabbitmq.client.Channel 消息使用的channel
@RabbitListener(bindings = {
@QueueBinding(value = @Queue(
value = direct_queue_b),
exchange = @Exchange(value = DIRECT_EXCHANGE, type = ExchangeTypes.DIRECT),
key = direct_queue_b)
})
public void directB(Message message, org.springframework.messaging.Message messaging, Channel channel){
//- 对于复杂消息,比如对象,org.springframework.amqp.core.Message 就不支持了
String msg = new String(message.getBody());
System.err.println(String.format("队列 %s ,org.springframework.amqp.core.Message 接收到消息:%s", direct_queue_b, msg));
System.err.println(String.format("队列 %s ,org.springframework.messaging.Message 接收到消息:", direct_queue_b) + messaging.getPayload());
}