java - 确保整个应用程序有一个连接池

标签 java oop

我正在创建一个应用程序,它将使用连接池进行数据库连接,并且我想确保只创建一个连接池供整个应用程序使用。我打算创建一个单例以确保可以打开一个连接池,但许多人建议避免单例。我的替代方案是什么?对于调用我的连接管理器的客户来说,这会是什么样子?

最佳答案

如果您正在运行独立应用程序,我没有发现 Singleton 有问题。这完全取决于您如何确保它是单实例。

恕我直言,Enum 是创建 SingleTon 的最佳选择。当然,我假设您正在对方法进行正确的同步,以避免同一连接共享多个客户端和不需要的用例

你不需要重新发明轮子,你可以使用Apache DBCP Connection Poolsample

来自SO的一个回答

如果您在应用程序服务器中运行,那么单例就有点大材小用了。在应用程序服务器中,由于集群,无法保证单例。仅对每个 JVM 进行保证。建议使用连接池的数据源。

关于java - 确保整个应用程序有一个连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23413590/

相关文章:

java - 我是否在 Java Stack 类中发现了错误?为什么这两个堆栈元素不一样?

javascript - 什么时候用javascript封装?

php - 将对象实例化为方法/函数调用中的参数是不好的做法吗?

java - 从数组中找到最小值 - 我不明白

java - 带删除线的文本不保存

java - AndEngine GLES2 - 避免在恢复时重新加载纹理

java将结果集转换为列表

C# Basic OOP - 使用构造函数制作类的字典

objective-c - swift 中的动态子类实例化

C# : Creating Events for a Class on GET/SET properties