好像和线程池没有关系。
在你的case中,主要考虑数据库的相应时间,在和数据库的连接上设置超时。何必还要启用监控守护线程呢!

解决方案 »

  1.   

    数据库是可以连接上的,只是SQL挂死!由于所用SQL很多,所以对每一个SQL监视不太现实!
      

  2.   

    这个办法可行.我在项目中就是这样用的.所有的数据库查询由DBManager完成, DBManager提供接口.
    in DBManager:
      public synchronized void addListener(DBManagerListener o) {}
      public synchronized void removeListener(DBManagerListener o) {}
      public synchronized int getResult(String statement, long expireTime) {
        // record statement and expiretime in pool
        // generate id and return to user
     }
     // if  time expires, generate exception with id info.