bkh*_*jkt 5 tomcat connection-pooling java-ee bonecp
我的情况如下:
我必须维护一个以Tomcat(6)作为Web服务器的服务器,上面有一堆Web应用程序。这些Web应用程序由其他人维护。我们的服务器已连接到另一个部门的数据库服务器,该服务器具有我们的Web应用程序需要显示的信息。如果没有适当的池化策略,我们的服务器很快就会陷入灾难。
现在,我向所有人介绍了Pooling(我选择了BoneCP-0.7),我们将创建一个驻留在Tomcat全局JNDI Context上的单个池,并让每个人都从中获得连接。我想那应该可以解决问题。
我担心的是:如何完全控制此Pooling?我有一些要求:
我想在运行时手动或以编程方式重新加载DataSource配置(将在需要时尝试连接到备份服务器)
更改可以不时更改的连接数(最小,最大,空闲连接)
保持Tomcat存活为佳
我打算构建一个使用JMX来连接和检索信息的警报系统,并有一个按钮来重新加载Pool(我知道所有Pooling策略都具有某种恢复能力,但是其他DB服务器会定期崩溃,因此请手动重新启动连接是比较可取的)。
我想到了一些可能的解决方案:
我的问题是:
(为什么有人选择 BoneCP?我听说过的每个涉及 BoneCP 的问题都通过发帖者切换到另一个 CP 来解决,一切正常。BoneCP 甚至还没有达到 v1.0。我想这是下一个大事件.只是还没到。)
Tomcat 支持 Apache commons-dbcp 和 Tomcat 自己的内置 tomcat-pool:只需按照 Tomcat 文档配置 JNDI 连接池即可。
不幸的是,Tomcat 目前不支持在运行时重新加载数据源。您可以通过 JMX 更改属性,但更改不会产生任何效果。您也可以关闭游泳池,但您最终会得到一个关闭的游泳池,这将毫无价值。
在Tomcat 的 bugzilla中记录增强功能可能是一件好事。
| 归档时间: |
|
| 查看次数: |
2938 次 |
| 最近记录: |