【问题标题】:activemq connection poolingactivemq 连接池
【发布时间】:2012-12-22 13:00:57
【问题描述】:

我正在使用 ActiveMQConnectionFactory 创建连接。我只创建一个连接。我有很多线程在这个单一连接下运行,创建会话和生产者(每个线程都有自己的会话和生产者)。

我的问题是:如果我只使用一个连接,那么我应该使用连接池 (PooledConnectionFactory) 还是应该坚持使用 ActiveMQConnectionFactory。 谁能解释一下这两者之间的区别(可能是基本术语,因为我还在 activemq 的学习曲线上)。

谢谢!

【问题讨论】:

    标签: activemq


    【解决方案1】:

    答案是,视情况而定。如果您只在应用程序中使用一个 Connection 并在应用程序的整个生命周期内保持打开状态,那么通过池化连接您不会获得太多收益,但是 PooledConnectionFactory 也确实会池化 Sessions 和 Producers,因此您仍然可以获得一些不创建和销毁 Sessions 和 Producers 但是如果你不创建和销毁这些资源,那么你也不需要池化它们。

    池连接的东西将创建一个连接并保持打开一段时间,然后再将其闲置(可配置),因此如果您的应用倾向于创建连接,请使用它一段时间并关闭它以创建另一个连接不久之后,游泳池可能是一个不错的选择。

    最后,您需要检查您的应用程序并了解您如何使用 JMS 资源。此外,查看它是否能获得任何性能的最佳方法是试用它并衡量与不使用它相比的结果。

    【讨论】:

      猜你喜欢
      • 2020-02-12
      • 2018-05-22
      • 1970-01-01
      • 1970-01-01
      • 2017-01-07
      • 2014-03-20
      • 1970-01-01
      • 1970-01-01
      • 2013-08-20
      相关资源
      最近更新 更多