我有一个状态主题,通过 ActiveMQ (docker rmohr/activemq:5.15.9) 使用 QoS 1 和保留消息 = true 发布。我希望我的仪表板能够延迟订阅主题并始终收到最后发布的消息。
保留的功能似乎运行良好,但消息似乎在 ActiveMQ 代理重新启动时被清除。
如果我停止发布到主题,重新启动代理并尝试延迟订阅,我不会收到最后一条消息(在代理重新启动之前保留的消息)。
我使用默认容器配置(为 data/ 和 conf/ 安装的 kahadb 和文件系统目录)。我以为保留的消息会在 kahadb 中,但它是空的。在代理重新启动后,ActiveMQ ui 还会显示主题的空队列。
这是预期的行为?我可以通过使用 ActiveMQ 重新启动代理来实现保留消息的持久性吗?我应该如何进行?