zoukankan      html  css  js  c++  java
  • paip.提高稳定性---自动检测sleep mysql数据库死连接以及kill

    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());

        


  • 相关阅读:
    设置全屏的方法
    The connection to adb is down,and a server error has occured.解决办法---------------------亲测有效
    android 案例二 登录界面
    javaweb项目编译错误
    Ubuntu 14.04 tomcat配置
    Ubuntu 14.03 安装jdk
    Ubuntu 14.03 安装mysql
    Git 版本管理使用说明。
    getColor问题
    WebView 调试
  • 原文地址:https://www.cnblogs.com/attilax/p/5964101.html
Copyright © 2011-2022 走看看