连接池的好设计模式是什么?

5

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


1
  1. 考虑使用现有的池化框架,例如Apache DBCP池。Tomcat已经内置了它们:http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html#Database_Connection_Pool_%28DBCP%29_Configurations
  2. “工厂”模式通常在自己编写代码时使用。
- vasquez
3个回答

4

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


3

对象(资源)池是一种设计模式

在Tomcat中,没有单独的连接池,而是允许您定义多个池。然后,您可以通过服务提供程序在全局服务器、服务、引擎、主机或仅一个上下文中控制每个池的范围和访问权限。应用程序查找连接池,服务提供程序确保遵守定义的规则。

但是,由于您的问题太过广泛,我们无法为您建议最合适的解决方案。


0

我更喜欢使用单例设计模式

它只会创建一个实例并且经常被使用。

对于及时的连接池管理,单例模式是一种简单而好的选择。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接