最近在用rabbitmq做了一个延时队列,然后在设置延时时,由于情况没有考虑全面,导致延时设置成了负数,那么当我们的延时时间设置为负数时,会怎么样呢?
我们来看一段源码,
public void setDelay(Integer delay) { if (delay != null && delay >= 0) { this.headers.put("x-delay", delay); } else { this.headers.remove("x-delay"); } }
可以看到如果延时时间为负数,其实就和没有设置延时时间一样,立马就发出去了。
探讨了在RabbitMQ中设置延时队列时,若延时时间被错误地设置为负数,消息将立即发送,如同未设置延时的情况。
21万+

被折叠的 条评论
为什么被折叠?



