c++ - ActiveMq:持久队列和离线系统

标签 c++ activemq activemq-cpp

我是 ActiveMQ 技术的新用户,我在使用这项技术时遇到了一些问题。

我有以下情况:

  1. 我有一个在嵌入式(离线)ARM 设备中运行的软件,它在运行时将一组视频存档在可插拔硬盘上。
  2. 有时(一天 4-5 个事件),我必须将警报事件与这些视频相关联,并将警报排入持久队列。
  3. 我们必须每月一次提取硬盘并将其连接到另一个嵌入式在线 ARM 设备,该设备应通知 ActiveMQ 服务器有关离线 ARM 设备< 生成的警报/强>

现在我的问题是:如何将持久队列存储在硬盘上,以便离线 ARM 设备生成的事件可供在线 ARM 系统使用(在线和在线之间的唯一“连接”离线嵌入式设备是硬盘)?

请注意,我无法更改向在线服务器传输消息的方式,因为它不是我公司开发的系统。

最好的问候

乔瓦尼

最佳答案

听起来您想要一种“存储转发”消息传递模式。您可以将“离线”ActiveMQ 代理配置为尝试连接到“在线”ActiveMQ 代理。网络连接器将尝试以可配置的时间间隔进行连接,当它处于“在线”状态时,它将开始自动发送消息。

轻微的缺点是代理将尝试连接到远程代理(即使在离线时),因此您需要管理日志轮换或日志记录级别以适应。

寻找 static://网络连接器 uri

Network of brokers

关于c++ - ActiveMq:持久队列和离线系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44627680/

相关文章:

c++ - ActiveMQ-CPP 和 Visual Studio 2003

c++ - 将 WCHAR 数组作为 LPARAM 发送到 winproc 的正确方法是什么?

linux - ActiveMQ 似乎启动了,但后来我无法使用 netstat 或 ps 看到它

java - ActiveMQ OnMessage() 方法阻塞其他线程

redis - 如何在 Apache ActiveMQ 中只获取组中的最后一条消息?

c++ - ActiveMQCPP connection.start() 挂了

c++ - 接口(interface)函数以具有可选参数而不是必需参数

c++ - 不区分大小写的操作

使用堆栈的 C++ 后缀表达式

c++ - 静态链接ActiveMQ-cpp