ActiveMQ线程

线程activeMQConsumer停止和退出需要多长时间?关闭应用程序时出现分段错误。我发现这是由于activeMQ线程造成的。如果我对消费者发表评论,则该问题不再存在。目前,我在activemq-cpp-library-3.9.4中使用cms::MessageConsumer

我看到activemq::core::activeMQConsumer具有isClosed()功能,可以用来确认使用者是否关闭,然后继续删除对象,从而避免了分段错误。我认为这将解决我的问题。但是我想知道使用这些activeMQ对象的正确方法是什么,以避免线程问题?

我与消费者和生产者使用同一会话,但是当代理停止并启动时,activeMQ重新连接正在添加线程。我没有使用故障转移。

因此,我分离了要发送和接收的会话,并分别实例化了每个实例的连接工厂,连接和会话。直到由于上述分段错误而导致应用程序内存没有被清理,该设计才出现问题。

这就是为什么我想知道何时应该使用cms::MessageConsumeractiveMQConsumer

gy810071752 回答:ActiveMQ线程

ActiveMQ网站上有documentation,其中包含CMS客户端的示例。我建议阅读这些内容并按照示例代码进行操作,以了解在关闭应用程序之前如何关闭连接和库资源,以确保正确清理资源。

与JMS一样,CMS使用者实例与创建该实例的会话中的线程链接在一起,因此,如果要关闭的一条好规则是关闭会话,以确保在删除任何使用者实例之前停止传递消息。

本文链接:https://www.f2er.com/3158663.html

大家都在问