我的情况如下:
我必须维护一个以Tomcat(6)作为Web服务器的服务器,上面有一堆Web应用程序。这些Web应用程序由其他人维护。我们的服务器已连接到另一个部门的数据库服务器,该服务器具有我们的Web应用程序需要显示的信息。如果没有适当的池化策略,我们的服务器很快就会陷入灾难。
现在,我向所有人介绍了Pooling(我选择了BoneCP-0.7),我们将创建一个驻留在Tomcat全局JNDI Context上的单个池,并让每个人都从中获得连接。我想那应该可以解决问题。
我担心的是:如何完全控制此Pooling?我有一些要求:
我想在运行时手动或以编程方式重新加载DataSource配置(将在需要时尝试连接到备份服务器)
更改可以不时更改的连接数(最小,最大,空闲连接)
保持Tomcat存活为佳
我打算构建一个使用JMX来连接和检索信息的警报系统,并有一个按钮来重新加载Pool(我知道所有Pooling策略都具有某种恢复能力,但是其他DB服务器会定期崩溃,因此请手动重新启动连接是比较可取的)。
我想到了一些可能的解决方案:
我的问题是: