public void shutdown(){
  poolLock.lock();
  try {
    if (isShutDown)     return;
    if (refWorker != null)     refWorker.shutdown();
    Iterator<BasicPoolEntryRef> iter=issuedConnections.iterator();
    while (iter.hasNext()) {
      BasicPoolEntryRef per=iter.next();
      iter.remove();
      BasicPoolEntry entry=per.get();
      if (entry != null) {
        closeConnection(entry.getConnection());
      }
    }
    idleConnHandler.removeAll();
    isShutDown=true;
  }
  finally {
    poolLock.unlock();
  }
}

public void shutdown ( ) { poolLock . lock ( ) ; try { if ( isShutDown ) return ; if ( refWorker != null ) refWorker . shutdown ( ) ; Iterator < BasicPoolEntryRef > iter = issuedConnections . iterator ( ) ; while ( iter . hasNext ( ) ) { BasicPoolEntryRef per = iter . next ( ) ; iter . remove ( ) ; BasicPoolEntry entry = per . get ( ) ; if ( entry != null ) { closeConnection ( entry . getConnection ( ) ) ; } } idleConnHandler . removeAll ( ) ; isShutDown = true ; } finally { poolLock . unlock ( ) ; } }
shuts down this pool and all associated resources . overriding methods must call the implementation here !
