public void releaseResourcesForAddress(String address){
synchronized (asyncCloseExecutors) {
    ThreadPoolExecutor pool=asyncCloseExecutors.get(address);
    if (pool != null) {
      pool.shutdown();
      asyncCloseExecutors.remove(address);
    }
  }
}

public void releaseResourcesForAddress ( String address ) { synchronized ( asyncCloseExecutors ) { ThreadPoolExecutor pool = asyncCloseExecutors . get ( address ) ; if ( pool != null ) { pool . shutdown ( ) ; asyncCloseExecutors . remove ( address ) ; } } }
call this method if you know all the resources in the closer for the given address are no longer needed . currently a thread pool is kept for each address and if you know that an address no longer needs its pool then you should call this method .
