【问题标题】:What is the good design pattern for connection pooling?连接池的良好设计模式是什么?
【发布时间】:2012-02-13 07:11:31
【问题描述】:

实现一个连接(或通常是资源)池的良好设计模式是什么?比如一台tomcat服务器连接一台mysql服务器,所有请求共享一个tomcat服务器上的mysql连接池。我搜索了一段时间,有人建议使用 Singleton 或将初始化代码放在某个静态块中。但也有人说单身不好。那么,用于连接池的正确设计模式应该是什么?谢谢。

【问题讨论】:

  • 1.考虑使用现有的池框架,例如 apache dbcp 池。 Tomcat 已将它们构建在:tomcat.apache.org/tomcat-7.0-doc/… 2.“工厂”模式通常用于您自己做的情况。
  • @vasquez 感谢您的回复!

标签: web-services design-patterns database-connection connection-pooling


【解决方案1】:

用于连接池的 FlyWeight 设计模式。正如 GOF 所说“促进许多细粒度对象的重用,使大量对象的利用更加高效。”

【讨论】:

    【解决方案2】:

    Object (Resource) Pool is a Design Pattern.

    Tomcat 中没有单个连接池,而是允许您使用define multiple pools。然后,您可以通过 service provider 作为全局服务器、服务、引擎、主机或单个 context 来控制对每个池的范围和访问。应用程序查找连接池,服务提供者确保遵守定义的规则。

    但是,您的问题如此开放,我们无法为您提供最合适的解决方案。

    【讨论】:

      【解决方案3】:

      我更喜欢单例设计模式

      它会一次性创建实例并经常使用。

      对于及时的连接池Singleton,它会很容易而且很好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多