paip.提高稳定性---自动检测sleep mysql数据库死连接以及kill
2014-01-05 12:58
274 查看
paip.提高稳定性---自动检测sleep mysql数据库死连接以及kill
作者Attilax 艾龙, EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
//////检测本应用的泄漏数据库过滤
主要原理是:
a.在调用conn时,得到conn的localport,存储为一个list
b.从mysql查询本机器所有的连接
检测本机的泄漏数据库连接(大概)
select * from information_schema.processlist where user='root' and host like '192.168.1.1:%' and db='dbname' command='sleep' and time>60 and state='' and info is NULL
529 root atipc:8213 test Sleep 9932
c.判断localport,取得交集..就是本应用发出的conn...
d.循环调用使用kill id ,释放连接..
最难点的部分在于得到发出的连接对应的localport...
解开mysql jdbc5.1.7 驱动源码..把MysqlIO.java以及JDBC4Connection.java加入源码包..这样生成的class会先加载
修改/src/com/mysql/jdbc/MysqlIO.java,不个默认private的Socket改成public的..
/**attilax o13,change protect to public The connection to the server */
public Socket mysqlConnection = null;
修改JDBC4Connection.java, 不个默认protect的getIO()改成public的..
/**
* attilax o13
*/
public MysqlIO getIO() throws SQLException {
return super.getIO();
}
这样走ok兰..代码中调用...
JDBC4Connection conx=(JDBC4Connection) con;
MysqlIO mio=conx.getIO();
System.out.println(mio.mysqlConnection.getLocalPort());
作者Attilax 艾龙, EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
//////检测本应用的泄漏数据库过滤
主要原理是:
a.在调用conn时,得到conn的localport,存储为一个list
b.从mysql查询本机器所有的连接
检测本机的泄漏数据库连接(大概)
select * from information_schema.processlist where user='root' and host like '192.168.1.1:%' and db='dbname' command='sleep' and time>60 and state='' and info is NULL
529 root atipc:8213 test Sleep 9932
c.判断localport,取得交集..就是本应用发出的conn...
d.循环调用使用kill id ,释放连接..
最难点的部分在于得到发出的连接对应的localport...
解开mysql jdbc5.1.7 驱动源码..把MysqlIO.java以及JDBC4Connection.java加入源码包..这样生成的class会先加载
修改/src/com/mysql/jdbc/MysqlIO.java,不个默认private的Socket改成public的..
/**attilax o13,change protect to public The connection to the server */
public Socket mysqlConnection = null;
修改JDBC4Connection.java, 不个默认protect的getIO()改成public的..
/**
* attilax o13
*/
public MysqlIO getIO() throws SQLException {
return super.getIO();
}
这样走ok兰..代码中调用...
JDBC4Connection conx=(JDBC4Connection) con;
MysqlIO mio=conx.getIO();
System.out.println(mio.mysqlConnection.getLocalPort());
相关文章推荐
- paip.提高稳定性---自动检测sleep mysql数据库死连接以及kill
- 串口操作类以及自动连接指定WiFi禁用启用WiFi和自动获取串口号
- Python连接MySQL数据库通信实例以及中文乱码的解决办法
- 查看Postgresql的连接状况,以及如何的去kill掉pg的连接
- CCNA 640-802,CCENT和CCNP练习题库LMI的自动检测,转换,以及更多!
- 小米 未检测到任何互联网连接 因此不会自动重新连接
- 虚拟机的ubuntu经常自动断网以及已经显示了已连接的图标但不能上网的解决办法
- 关于mysql数据库8小时不进行操作连接自动断开问题的解决办法
- mysql数据库的连接以及增删改查Java代码实现(PreparedStatement版)
- Hibernate连接mysql数据库并自动创建表
- ElasticSearch集群未连接 无法发现节点(windows环境)以及windows环境下设置服务 不能自动启动的问题
- MyEclipse连接MySQL数据库出现问题以及解决措施
- Oracle数据如何查看有多少用户连接以及如何kill某个连接
- myeclipse连接mysql数据库以及对数据库的增删改查
- MYSQL数据库连接偶尔连不上,几秒后又自动恢复
- JDBC连接MySql数据库步骤 以及查询、插入、删除、更新等
- (JDBC)连接MySQL数据库,以及插入信息
- 聚合以及连接以及自动编号的SQL
- mysql数据库连接空闲超过8小时自动断开
- mysql安装,java以及c#连接mysql数据库