我在docker上使用rabbitMQ。
当执行rabbitmq时,我想设置消息持久性(durable/transient)
.
有办法设置持久性吗?(除非声明Queue和Exchange)
可以为任何已发布的消息指定delivery-mode message属性。但是,目标队列也必须是持久的,以便持久化消息。
参见RabbitMQ文档中的Message Attributes and Payload一章:
AMQP模型中的消息具有属性。有些属性是这样的常见的是AMQP 0-9-1规范定义了它们和应用程序开发人员不必考虑确切的属性名称。一些例子是Content type Content encoding Routing key Delivery mode (persistent or not) Message priority Message publishing timestamp Expiration period Publisher application id
简单地发布一个消息发送到持久交换器,或者它是队列的事实路由为持久并不能使消息持久:仅此而已取决于消息本身的持久模式。发布的消息由于持久性影响性能(就像数据存储一样),耐久性是以一定的性能为代价的)。