能否请您帮我解决一个简单的问题。
我需要不带弹簧的JMSTemplate使用PooledConnectionFactory。 ActiveMQ表示此类正在汇集连接,生产者,会话以及使我感到困惑的地方,我不知道如何从实例中获取它们。我在等待一些takeConnection(),然后实现realeaseConnection()和takeProducer()并实现producer()。
pooledConnectionFactory.start()之后该怎么办?通常,我会执行Connection c = pooledConnectionFactory.createConnection ...希望,我已经解释了我的问题。如果直接从Connection创建生产者和会话,则如何合并它们。
connectionFactory = new ActiveMQConnectionFactory(
userId,
passWord,
brokerURL);
log.info("Queueing service init: BrokerURL: " + brokerURL + " UserId: " + userId + " Paasword: " + passWord);
pooledConnectionFactory = new PooledConnectionFactory(connectionFactory);
pooledConnectionFactory.setIdleTimeout(5000);
pooledConnectionFactory.setMaxConnections(10);
pooledConnectionFactory.setMaximumActive(5000);
pooledConnectionFactory.start();
最佳答案
好吧,就使用它而言,池化连接工厂就像任何其他jms连接工厂一样。
只需致电:
pooledConnectionFactory.createConnection(); //如你所愿
连接工厂不会真正创建连接,但是会为您提供一个池化连接。然后,connection.close();会再次将其释放到池中。但是,所有这些都在后台,只要像平常一样使用它就可以了。会议和生产者(而不是消费者)也是如此。