繁体   English   中英

Stompjs 订阅自动删除队列

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM