@Override
 public void run() {
   try {
     while (!shutdown) {
       if (!isblock.get()) {
         synchronized (this) {
           isblock.set(true);
           wait();
           if (connMgrs.size() > 0) {
             for (int i = 0; i < connMgrs.size(); i++) {
               HttpClientConnectionManager connMgr = connMgrs.get(i);
               connMgr.closeExpiredConnections();
               connMgr.closeIdleConnections(30, TimeUnit.SECONDS);
             }
           }
         }
       }
     }
   } catch (InterruptedException ex) {
     // terminate
   }
 }
 @Override
 public void closeExpiredConnections() {
   connectionManager.closeExpiredConnections();
 }