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

时间:2012-02-13 07:11:31

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

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

3 个答案:

答案 0 :(得分:3)

Object (Resource) Pool is a Design Pattern

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

然而,你的问题如此开放,我们无法为你提出最合适的解决方案。

答案 1 :(得分:3)

用于连接池的FlyWeight设计模式。如GOF所述“促进许多细粒度物体的再利用,使大量物体的利用更加有效。”

答案 2 :(得分:0)

我更喜欢单身设计模式

它将创建Instance单次并经常使用。

及时连接汇集Singleton这将很容易和良好。