我一直在开发一个与 ActiveMQ-cpp(库版本 3.8.2)互连的线程数据池系统。系统管理一组设备,这些设备可以定期池化,轮询结果发送到代理中的队列。答案队列可以随时通过控制消息更改,因此生产者和目的地不断变化。只有一个订阅者接收所有控制命令,并且多个线程从它们自己的会话中创建生产者和消息。所有消息都是文本消息。
所有 activemq-cpp 元素都包裹在 RAII 元素中,但在密集使用后的某个时候,连接会收到消息,但是当我尝试发送响应时,库会抛出异常,显示“已达到线程本地存储限制”。之后它接收到更多消息(有时文本被破坏)但尝试发出新消息再次陷入线程存储异常,然后完全停止接收和发送。
有没有人发现这种问题?欢迎任何帮助。
更新:我已经编译并使用了新的3.8.3版本,仍然可以重现错误。测试是在 RHEL 5.7 和 Fedora 20 中完成的,它们都是 64 位架构。