我使用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处理该连接管理,以便它不会每次都创建连接。
答案 0 :(得分:0)
默认情况下,使用CachingConnectionFactory
打包ActiveMQConnectionFactory
它还会缓存使用者。如果您只想要连接,请禁用消费者缓存,或使用超类SingleConnectionFactory
。