首页 > 解决方案 > 由于多个消费者 ActiveMQ 导致内存不足

问题描述

我正在使用 DefaultMessageListenerContainer 如下:

private static final AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MessageConsumer.class); 
    public static final DefaultMessageListenerContainer container = context.getBean(DefaultMessageListenerContainer.class);

对于我的侦听器侦听的给定队列,我的程序第一次运行时会启动侦听器......这将为我可以在 Active MQ 控制台中看到的队列创建一个使用者。

我遇到的问题是每次我签入一些新代码时,都会为队列创建另一个新的消费者,而旧的消费者仍在创建一些内存不足问题。

我在这里做错了什么?如何确保只有 1 个消费者并且每次新代码签入都会杀死旧消费者?希望我清楚地解释了这个问题。

标签: out-of-memoryactivemqlistenerconsumermultiple-constructors

解决方案


推荐阅读