• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

tomcat 监听器启动线程导致tomcat只允许线程的run方法,不能访问项目

项目简介:Jsp3.0+dbcp连接池1.4+tomcat8.0

因连接池泄露,有些connection无法关闭,想可以手动kill掉那些连接时间超过2分钟的Connection连接。然后写了一个线程,将它挂在ServletContextListener监听器下,然后tomcat一启动,tomcat会被该线程卡住,出现一直执行线程,而不继续加载项目的情况,导致项目无法访问,想请问下,这种情况该怎么办。怎么改这种模式才是对的。
tomcat启动错误:

信息: Deploying web application directory F:\tomcat-8.0\webapps\host-manager一月 05, 2017 3:17:32 下午 org.apache.catalina.startup.HostConfig deployDirectory信息: Deployment of web application directory F:\tomcat-8.0\webapps\host-manager has finished in 41 ms一月 05, 2017 3:17:32 下午 org.apache.catalina.startup.HostConfig deployDirectory信息: Deploying web application directory F:\tomcat-8.0\webapps\manager一月 05, 2017 3:17:32 下午 org.apache.catalina.startup.HostConfig deployDirectory信息: Deployment of web application directory F:\tomcat-8.0\webapps\manager has finished in 24 ms一月 05, 2017 3:17:32 下午 org.apache.catalina.startup.HostConfig deployDirectory信息: Deploying web application directory F:\tomcat-8.0\webapps\ROOT一月 05, 2017 3:17:33 下午 org.apache.jasper.servlet.TldScanner scanJars信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.kill 5 ;kill 6 ;kill 7 ;kill 5 ;kill 6 ;kill 7 ;代码如下:
ServletContextListener监听器类

package com.hebeu.util;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;public class ApplicationListener implements ServletContextListener{    Thread thread = new Thread(new KillConn());    public void contextInitialized(ServletContextEvent sce) {        while (true) {            try {                thread.run();                Thread.sleep(10000);            } catch (InterruptedException e) {                e.printStackTrace();            }        }    }            public void contextDestroyed(ServletContextEvent sce) {            }    }KillConn.java线程
package com.hebeu.util;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;public class KillConn implements Runnable{        public void run() {        String fingSql = "SELECT CONCAT('kill ',id,' ;')'sql' FROM information_schema.`PROCESSLIST` WHERE TIME>10";        ArrayList listSql = new ArrayList();        Connection conn = null;        try {            conn = JDBCUtil.getConn();            conn.setAutoCommit(false);            ResultSet rs = JDBCUtil.findOne(fingSql, conn);            while(rs.next())            {                listSql.add(rs.getString(1));            }            for (String string : listSql) {                System.out.println(string);//                JDBCUtil.doSql(string, conn);            }            conn.commit();        } catch (SQLException e) {            try {                conn.rollback();            } catch (SQLException e1) {                e1.printStackTrace();            }            e.printStackTrace();        }finally{            JDBCUtil.closeAll(null, null, conn);        }            }}

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

发新帖

发布任务需求已有1031167位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!