Stompjs 订阅 auto-delete queue
Stompjs subscribe auto-delete queue
应用以下内容时:
client.subscribe(`/user/queue/${ chatRoomId }.private.messages`, callback, {
'auto-delete': 'true'
});
我收到以下错误:
2022-01-10 02:09:31.908 ERROR 99494 --- [ent-scheduler-3]
o.s.m.s.s.StompBrokerRelayMessageHandler : Received ERROR
{message=[precondition_failed], content-type=[text/plain],
version=[1.0,1.1,1.2], content-length=[223]} session=system text/plain
payload=PRECONDITION_FAILED - inequivalent arg 'auto_delete' for queue
'room-post-6cf8fa...(truncated)
我使用 RabbitMq 与 3.7:https://github.com/quangthe/docker-rabbitmq-stomp
我不确定为什么它会提到 auto_delete,因为要使用的 header 是 auto-delete。
当我省略 header(或使用无用的 auto_delete,因为它被忽略了)时效果很好,但这将创建无限数量的 queue。
每次用户刷新浏览器时,显然不应该创建一个新的 queue。
没有人会手动删除数千个 queue。
我有一个 Java 后端使用最新的依赖项
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-stomp</artifactId>
<version>5.5.5</version>
</dependency>
问题已通过 here 所述的交换解决。
如果不自动删除,那么使用使用常规队列的最常见示例没有多大意义。没有人愿意处理成千上万个未清理的队列。
应用以下内容时:
client.subscribe(`/user/queue/${ chatRoomId }.private.messages`, callback, {
'auto-delete': 'true'
});
我收到以下错误:
2022-01-10 02:09:31.908 ERROR 99494 --- [ent-scheduler-3] o.s.m.s.s.StompBrokerRelayMessageHandler : Received ERROR {message=[precondition_failed], content-type=[text/plain], version=[1.0,1.1,1.2], content-length=[223]} session=system text/plain payload=PRECONDITION_FAILED - inequivalent arg 'auto_delete' for queue 'room-post-6cf8fa...(truncated)
我使用 RabbitMq 与 3.7:https://github.com/quangthe/docker-rabbitmq-stomp
我不确定为什么它会提到 auto_delete,因为要使用的 header 是 auto-delete。 当我省略 header(或使用无用的 auto_delete,因为它被忽略了)时效果很好,但这将创建无限数量的 queue。 每次用户刷新浏览器时,显然不应该创建一个新的 queue。 没有人会手动删除数千个 queue。
我有一个 Java 后端使用最新的依赖项
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-stomp</artifactId>
<version>5.5.5</version>
</dependency>
问题已通过 here 所述的交换解决。
如果不自动删除,那么使用使用常规队列的最常见示例没有多大意义。没有人愿意处理成千上万个未清理的队列。