如何让Spring管理我的DLQ 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 处理该连接管理,以便它不会每次都创建连接。

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

最新更新