【问题标题】:ActiveMQ PooledConnectionFactory without spring没有弹簧的 ActiveMQ PooledConnectionFactory
【发布时间】:2012-06-23 17:29:59
【问题描述】:

请你帮我解决一个简单的问题。 我需要使用没有弹簧的 PooledConnectionFactory,JMSTemplate。 ActiveMQ 说这个类正在汇集连接、生产者、会话,而让我感到困惑的是,我不知道如何从实例中获取它们。我在等待一些 takeConnection(),然后是 realeaseConnection() 和 takeProducer() 并实现 producer()。 pooledConnectionFactory.start(); 之后我该怎么办? Normaly,我会做 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();

【问题讨论】:

    标签: java activemq


    【解决方案1】:

    嗯,池化连接工厂在使用时与任何其他 jms 连接工厂一样。

    只要打电话:

    pooledConnectionFactory.createConnection(); // 如你所愿

    连接工厂不会真正创建连接,而是为您提供一个池化连接。然后,connection.close();将再次将其释放到池中。但是所有这些都在引擎盖下,只要按照习惯使用它就可以了。会话和生产者也是如此,但消费者则不然。

    【讨论】:

    • 哦,谢谢,我今天试试。我想,我做了错误的测试。我用 1 个连接创建了池,然后创建了 2 个连接并比较了它们,它们不相等,但我没有调用 .close() 希望,这就是我需要的
    • 我试着像你说的那样实现,所以我有 pooledConnectionFactory,我用 createConnection(); 创建了连接;在连接实例上,我调用了 start 和 close。它可以工作,但似乎比使用一个连接要慢。在localhost:8161/admin/topics.jsp 上的activeMQ 控制台中,我可以看到帮助主题的连接增加得非常快(在一个连接中,我在这里有大约10 条主题消息,这里有数千条)所以似乎每次都创建连接并且没有返回到池中,我所有的内存都用完了,电脑开始坏了。
    • 好吧,我还没有玩太多这些东西要知道。但有一件事,如果您使用池连接工厂,则池用于生产者、会话和连接。您不需要调用 .start() ,因为如果您启动侦听器或使用者,它就会开始接收消息。为此,请使用普通 CF。
    • 是的,我一直在寻找 activemq 资源,现在我确信您对池化和使用它是正确的。但是我还是不明白,为什么我的表现这么差。在开始池化时我还有一个问题:是否有可能从连接 B 关闭会话和消费者,而它们是在连接 A 中创建的?
    • 我怎么能看到,连接实际上是一样的,例如创建一个,停止(它返回到池),创建第二个。看看它们是否相同?
    猜你喜欢
    • 2016-06-04
    • 2011-09-19
    • 2011-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    • 2019-05-11
    • 2018-04-03
    相关资源
    最近更新 更多