[英]how to auto-delete the queue if using spring + stomp + full broker with rabbitmq
[英]Stompjs subscribe auto-delete queue
应用以下内容时:
client.subscribe(`/user/queue/${ chatRoomId }.private.messages`, callback, {
'auto-delete': 'true'
});
我收到以下错误:
2022-01-10 02:09:31.908 错误 99494 --- [ent-scheduler-3] osmssStompBrokerRelayMessageHandler: 收到错误 {message=[precondition_failed], content-type=[text/plain], version=[1.0,1.1, 1.2], content-length=[223]} session=system text/plain payload=PRECONDITION_FAILED - 队列'room-post-6cf8fa 的不等价参数'auto_delete' ...(截断)
我使用 RabbitMq 与 3.7: https://github.com/quangthe/docker-rabbitmq-stomp
我不确定为什么它提到 auto_delete 作为 header 使用是自动删除。 当我省略 header (或使用 auto_delete 因为它被忽略而无用)时,它运行良好,但这将创建无限数量的队列。 每次用户刷新浏览器时,显然不应该创建一个新队列。 没有人会手动删除数千个队列。
我有一个使用最新依赖项的 Java 后端
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-stomp</artifactId>
<version>5.5.5</version>
</dependency>
通过使用此处描述的交换解决了问题。
如果它们不是自动删除的,那么使用使用常规队列的最常见示例没有多大意义。 没有人愿意处理成千上万没有清理的队列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.