Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring rabbitmq是否从物理存储中删除消息_Spring_Rabbitmq_Spring Amqp_Spring Rabbit - Fatal编程技术网

Spring rabbitmq是否从物理存储中删除消息

Spring rabbitmq是否从物理存储中删除消息,spring,rabbitmq,spring-amqp,spring-rabbit,Spring,Rabbitmq,Spring Amqp,Spring Rabbit,我的应用程序中有持久的交换和队列。这些消息也是持久的。使用此配置,我确信我的消息会存储在物理存储器中。我想知道rabbitmq从我的物理存储中删除消息时是否有过期时间,我指的是硬盘,因为它在其中维护消息存储。另外,如果我想从物理存储中读取消息,那么我可以这样做吗?持久队列+持久消息意味着确实会保留消息。 这句话在我脑海中的例外: 您可能已经为队列配置了其他属性,例如大小限制 您达到了对底层文件系统的限制 您将删除队列(这也将删除其中存储的消息) 至于读取存储在队列中的消息,您通常可以使用它们

我的应用程序中有持久的交换和队列。这些消息也是持久的。使用此配置,我确信我的消息会存储在物理存储器中。我想知道rabbitmq从我的物理存储中删除消息时是否有过期时间,我指的是硬盘,因为它在其中维护消息存储。另外,如果我想从物理存储中读取消息,那么我可以这样做吗?

持久队列+持久消息意味着确实会保留消息。 这句话在我脑海中的例外:

  • 您可能已经为队列配置了其他属性,例如大小限制
  • 您达到了对底层文件系统的限制
  • 您将删除队列(这也将删除其中存储的消息)
至于读取存储在队列中的消息,您通常可以使用它们

如果您想在不删除它们的情况下阅读它们,您有几个选项:

  • 欺骗代理(例如,读取所有代理,但从不确认它们,这会将它们带回队列)
  • 在读取它们之后,再次将它们重新发布到代理以进行存储

<>但是如果确实需要进一步的保护,我会认真考虑把它们存储在其他地方(某种类型的db),这显然是在消息代理的目的之外。

< P>持久队列+持久消息实际上意味着消息将被保存。 这句话在我脑海中的例外:

  • 您可能已经为队列配置了其他属性,例如大小限制
  • 您达到了对底层文件系统的限制
  • 您将删除队列(这也将删除其中存储的消息)
至于读取存储在队列中的消息,您通常可以使用它们

如果您想在不删除它们的情况下阅读它们,您有几个选项:

  • 欺骗代理(例如,读取所有代理,但从不确认它们,这会将它们带回队列)
  • 在读取它们之后,再次将它们重新发布到代理以进行存储

<>但如果确实需要进一步的保护,我会认真考虑把它们存储在其他地方(某种类型的db),这显然是出于消息代理的目的。

我没有从队列读取消息的问题,也没有对队列中存储的消息设置任何限制。我还知道rmq维护物理存储的阈值。我唯一需要知道的是,当rmq从物理存储中删除我的消息时,是否有任何阈值时间?没有默认的“阈值时间”。由于在我的体系结构中遇到了一些问题,消息被保存了很长一段时间(数月)而没有问题我从队列中读取消息没有问题,我也没有对要存储在队列中的消息设置任何限制。我还知道rmq维护物理存储的阈值。我唯一需要知道的是,当rmq从物理存储中删除我的消息时,是否有任何阈值时间?没有默认的“阈值时间”。由于在我的体系结构中遇到一些问题,消息被保存了很长一段时间(几个月)而没有问题