如何使我的 qpid 队列持久化?

问题描述

我们最近在 CentOS 7 服务器上安装了 qpid C++ 代理的 1.39.0 版。已安装以下 RPM:

pmena@server=> rpm -qa | grep qpid
qpid-proton-c-0.33.0-1.el7.x86_64
qpid-cpp-client-1.39.0-1.el7.x86_64
qpid-tests-1.37.0-5.el7.noarch
python2-qpid-1.37.0-5.el7.noarch
qpid-qmf-1.39.0-1.el7.x86_64
qpid-tools-1.39.0-1.el7.noarch
qpid-cpp-server-1.39.0-1.el7.x86_64
python2-qpid-qmf-1.39.0-1.el7.x86_64
qpid-cpp-client-docs-1.39.0-1.el7.noarch

我们可以使用 durable 属性添加队列,但是在停止并重新启动 qpidd 后,队列消失了。通过 qpid-config add queue 命令恢复队列时,与队列关联的任何统计信息都将丢失。为什么队列 - 及其相关的统计信息 - 在重启之间没有持续存在?

解决方法

从 CentOS 存储库中添加 qpid-cpp-server-linearstore-1.39.0-1.el7.x86_64 软件包似乎为我们提供了我们正在寻求的功能。我们能够通过创建一些测试流量,观察增加的队列消息和字节数,然后重新启动 qpid 来测试这一点。队列消息和字节计数完好无损。