有谁知道刷新 JDBC 连接池的最佳(或任何)方法?我在文档中找不到任何明显的东西。似乎连接池永远不会被删除。
我目前的想法是从我们存储它们的哈希中删除所有数据源,这将触发我们的代码创建新的。但是,我的第一次尝试抛出了 ConcurrentModificationException。
有谁知道刷新 JDBC 连接池的最佳(或任何)方法?我在文档中找不到任何明显的东西。似乎连接池永远不会被删除。
我目前的想法是从我们存储它们的哈希中删除所有数据源,这将触发我们的代码创建新的。但是,我的第一次尝试抛出了 ConcurrentModificationException。
您不应该编写连接池。即使您想自己管理池(而不是让容器来管理),您也应该为此使用库(例如 Commons DBCP)。
如果要从哈希中删除所有内容,则应使用 hash.clear()。
如果要避免 ConcurrentModificationException,则需要添加同步。
如果您删除对 Connections 的引用(您确定您的意思是 DataSources 吗?),请务必先 close() 它们。
为什么要删除,而不是首先创建它。
它应该基于您的应用服务器,可能是一些 JNDI 编程可以解决问题。
您不应该编写连接池。这由 Java EE 应用服务器处理。