我正在创建一个将连接池用于数据库连接的应用程序,我想确保只为整个应用程序创建一个连接池。我打算创建一个单例来确保可以打开一个连接池,但很多人建议避免单例。我有什么选择,对于调用我的连接管理器的客户来说会是什么样子?
答案 0 :(得分:1)
如果您正在运行独立应用程序,我没有看到Singleton的问题。它完全取决于你如何确保它是单一实例。
恕我直言Enum是创建SingleTon的最佳选择。当然,我假设您正在处理方法上的正确同步,以避免相同的连接共享多个客户端和不需要的用例
你不需要重新发明轮子,你可以使用Apache DBCP Connection Pool和sample
的一个答案如果您在应用程序服务器中运行,那么单例是过度的。在App服务器中,由于群集,Singleton不能保证。它仅保证每个JVM。建议将数据源用于连接池。