使用rabbitmq, delay插件,延时没有生效排查
- [# RabbitMQ 消息延时失效的解决方案](RabbitMQ 消息延时失效的解决方案_危险、的博客-CSDN博客_rabbitmq消息不过期)
按网上的方案排查,仍然无效
- 注意到message.getMessageProperties().setHeader("x-delay",delayTime);
注意到.setDelay的方法
/**
* Set the x-delay header.
* @param delay the delay.
* @since 1.6
*/
public void setDelay(Integer delay) {
if (delay == null || delay < 0) {
this.headers.remove(X_DELAY);
}
else {
this.headers.put(X_DELAY, delay);
}
}
delay应该是Integer。而setHeader接收Object,当传入为string的时候, 会导致失效
注意:本文归作者所有,未经作者允许,不得转载