如何让Spring管理我的DLQ JMS连接

时间:2018-06-16 13:41:06

标签: jms activemq spring-jms

我使用DLQ监听器每分钟通过Spring调度调用如下。

@Scheduled(fixedDelay=60000)
public void retryQueue() {
 ConnectionFactory cf =
          new ActiveMQConnectionFactory(uname, pwd, brokerName);
      Connection cn = cf.createConnection();
      cn.start();
      Session sess = cn.createSession(false, Session.AUTO_ACKNOWLEDGE);
      Destination queue = sess.createQueue(retryQueue);
      MessageConsumer messageConsumer = session.createConsumer(queue);
 //further message processing here
}

现在我的问题是每一分钟都会建立和销毁新连接。我如何让Spring处理该连接管理,以便它不会每次都创建连接。

1 个答案:

答案 0 :(得分:0)

默认情况下,使用CachingConnectionFactory打包ActiveMQConnectionFactory它还会缓存使用者。如果您只想要连接,请禁用消费者缓存,或使用超类SingleConnectionFactory