我在RabbitMQ文档中找不到安装时默认的x-message-ttl值。
我知道如何将其设置为所需值,但我很想知道默认值。
默认情况下,代理服务器未设置x-message-ttl
参数,因此您可以将默认值解释为无限。
如果您在未设置ttl的队列中发布没有ttl的消息(是的,有每条消息和每个队列ttl参数,请参见下面的注释):
如果消息发布为持久性并且队列声明为持久性,则消息将在队列中保留,直到被消耗。
如果消息未作为持久性消息发布或者队列未被声明为持久性,则消息将在队列中保留,直到被消耗或代理服务器重启。
TTL 注释:
当每条消息和每个队列ttl都设置时,Broker将使用最小值。例如,如果每条消息的ttl为10000(10秒),每个队列的ttl为20000(20秒),则将应用每条消息的ttl。
每条消息的TTL注释:
具有过期ttl的消息将在达到队列头之前在队列中保留。不要担心,它们将不会发送给消费者,但是它们将占用一些资源,直到达到队列头。这就是RabbitMQ队列的工作方式(它们坚持FIFO思想,有时可能会与AMQP协议的严格兼容性产生冲突)。有关更多信息,请参见Time-To-Live Extensions中的注意事项部分。