Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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
弹簧&x2B;RabbitMQ使队列不持久_Rabbitmq_Stomp_Spring Websocket_Spring Messaging - Fatal编程技术网

弹簧&x2B;RabbitMQ使队列不持久

弹簧&x2B;RabbitMQ使队列不持久,rabbitmq,stomp,spring-websocket,spring-messaging,Rabbitmq,Stomp,Spring Websocket,Spring Messaging,我使用RabbitMQ作为SpringWebSocket应用程序的Stomp代理。客户端使用SockJS库连接到websocket接口。 Spring在RabbitMQ上创建的每个队列都是持久的,而主题是非持久的。有没有办法让队列变得不持久? 我认为我无法在应用程序端进行配置。我使用了RabbitMQ配置,但也无法设置它 RabbitMQ上用于订阅和发送的目标示例: 服务用户-385b304f-7a8f-4cf4-a0f1-d6ceed6b8c92根据RabbitMQ问题中的注释,可以指定自Ra

我使用RabbitMQ作为SpringWebSocket应用程序的Stomp代理。客户端使用SockJS库连接到websocket接口。 Spring在RabbitMQ上创建的每个队列都是持久的,而主题是非持久的。有没有办法让队列变得不持久? 我认为我无法在应用程序端进行配置。我使用了RabbitMQ配置,但也无法设置它

RabbitMQ上用于订阅和发送的目标示例:


服务用户-385b304f-7a8f-4cf4-a0f1-d6ceed6b8c92

根据RabbitMQ问题中的注释,可以指定自RabbitMQ 3.6.0起端点的属性

从3.6.0开始,可以使用订阅头显式定义端点(如/topic/和/queue)的属性:分别为持久、自动删除和独占


作为一种解决方法,您可以尝试使用AMQP协议自己创建队列,然后从STOMP协议中引用该队列。

您可以展示一些创建队列的代码吗。简言之:是的,这是可能的。但正如书中所写,你的问题并不清楚,很难为你提供更多的帮助。您要求的属性(持久性)实际上是在应用程序端配置的(就像RabbitMQ中的几乎所有内容一样)。因此,不清楚“我认为我无法在应用程序端进行配置”是什么意思。代码通常遵循此示例。唯一的区别是它使用了功能齐全的message broker,而不是嵌入在Spring中的message broker。我知道在AMQP协议中可以将队列设置为非持久队列,但我特意提到的是使用Stomp协议的Spring Websocket应用程序。很抱歉,您是对的,这从一开始就很重要。您是否可以选择
rabbitmqctl set_policy stomp queues expiration“^stomp-”{“expires”:10000}--将其应用于队列作为解决方法?我已经做过了。这是我能找到的唯一解决办法。但它只能部分解决问题。。。