4

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

+1

1.考虑使用现有的池化框架,如apache dbcp pooling。 Tomcat已将它们构建在:http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html#Database_Connection_Pool_%28DBCP%29_Configurations 2.“工厂”模式通常用于以下情况:你自己做。 – vasquez 2012-02-13 07:18:40

+0

@vasquez感谢您的回复! – Geni 2012-02-13 17:27:04

回答

3

Object (Resource) Pool is a Design Pattern

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

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

1

我更喜欢单身设计模式

它会创建实例单次和频繁使用。

适时连接池Singleton它会很容易和很好。

2

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