数据库连接监控组件,避免日常开发中因为数据库连接长时间占用或业务完成后忘记关闭连接所带来的数据库问题
2012-09-25 16:44
981 查看
前言:日常开发中如果一开始没有对系统进行比较好的规划那么容易出现两类问题且在版本发布中屡见不鲜,这两类问题是配置文件和数据连接,这里为大家分享一个监视数据库连接的组件,文末有代码示例下载。
一,解决方案图
![](http://pic002.cnblogs.com/images/2012/447504/2012092516245615.png)
DBConnectionManage.config: 配置文件,配置两个节点,一个是组件监视连接的最大数量一个是系统控制连接的有效时间
MConnectionWrap:这个是被监视对象的封装类,包括连接、过期时间、开启连接的业务类的监视器(GCHandle)
DBConnectionMonitor:连接监视主类,提供添加监视对象到一个字典里,后台线程循环遍历字典去处理被监视的对象
TestConnectionMonitor:这个项目是测试示例以及如何使用连接监视器的示例代码
总体思路:在我们的业务类往往有开启连接的操作,在开启连接后同时把连接加入到监视器里,然后监视器会根据连接所在业务类的状态和设置的连
接有效期来进行处理(关闭连接,移除被监视对象)
二,效果图
![](http://pic002.cnblogs.com/images/2012/447504/2012092516395040.jpg)
三,代码下载
组件下载
一,解决方案图
![](http://pic002.cnblogs.com/images/2012/447504/2012092516245615.png)
DBConnectionManage.config: 配置文件,配置两个节点,一个是组件监视连接的最大数量一个是系统控制连接的有效时间
MConnectionWrap:这个是被监视对象的封装类,包括连接、过期时间、开启连接的业务类的监视器(GCHandle)
DBConnectionMonitor:连接监视主类,提供添加监视对象到一个字典里,后台线程循环遍历字典去处理被监视的对象
TestConnectionMonitor:这个项目是测试示例以及如何使用连接监视器的示例代码
总体思路:在我们的业务类往往有开启连接的操作,在开启连接后同时把连接加入到监视器里,然后监视器会根据连接所在业务类的状态和设置的连
接有效期来进行处理(关闭连接,移除被监视对象)
二,效果图
![](http://pic002.cnblogs.com/images/2012/447504/2012092516395040.jpg)
三,代码下载
组件下载
相关文章推荐
- 数据库连接监控组件,避免日常开发中因为数据库连接长时间占用或业务完成后忘记关闭连接所带来的数据库问题
- 上下文“0x20b1a0”已断开连接。正在从当前上下文(上下文 0x20ac98)释放接口。这可能会导致损坏或数据丢失。要避免此问题,请确保在应用程序全部完成 RuntimeCallableWrapper (表示其内部的 COM 组件)之前
- android开发时解决adb端口被占用问题,adb无法连接手机
- weblogic数据库连接自动关闭问题
- 【如何实现backbone组件化开发】 第一篇:无组件所带来的问题
- 关于 swift 开发的变量或属性声明的建议(避免类型转换以及带来的强转崩溃问题)
- 前端开发---微信网页开发中数据库的连接问题
- 使用heroku开发应用时连接数据库遇到的问题及解决方案
- JSP开发WEB程序时注意的问题(中文化,数据库连接,目录)
- C#提升性能"数据库连接打开与关闭"经验分享(附:优化过的DBHelper类) 之配餐系统的开发
- DPA/Ignite由于DNS问题导致连接不上被监控的数据库服务器
- 关于android开发连接数据库的问题
- 如何避免数据库行为监控系统部署问题
- 利用 spring bean 的属性 init-method 解决因为数据库连接没有初始化而导致首次点击页面超慢的问题
- ORA-12537:TNS:连接关闭 -------数据库最大连接数问题
- 后台运行长时间php进程 数据库连接不上的问题
- 关于数据库连接数问题(为什么要关闭数据库连接,可以不关闭吗?)
- 有关数据库连接自动关闭的问题
- 解决数据库长时间不访问自动断开连接问题
- 连接命令层:BtuDatabaseControl组件完成数据库的无缝连接与命令执行(.net),含使用说明及组件下载