code: protected void startReclaimConnectionThread() {
  
          if (tc.isEntryEnabled()) {
              Tr.entry(this, tc, "startReclaimConnectionThread");
          }
  
          //long reapTime;
  
          synchronized (taskTimerLockObject) {
              if (!reaperThreadStarted) {
                  if (reapTime > 0) {
                      if ((this.unusedTimeout > 0)
                          || (this.agedTimeout > 0)) {
                          final PoolManager tempPM = this;
                          reaperThreadStarted = true;
                          AccessController.doPrivileged(new PrivilegedAction<Void>() {
                              @Override
                              public Void run() {
                                  new TaskTimer(tempPM);
                                  return null;
                              }
                          });
  
                          if (tc.isDebugEnabled()) {
                              Tr.debug(this, tc, "Started reclaim connection thread for pool " + gConfigProps.getXpathId());
                          }
                      }
  
                  }
              }
          }
  
          if (tc.isEntryEnabled()) {
              Tr.exit(this, tc, "startReclaimConnectionThread");
          }
  
      }
docs: Starts the reclaim collection thread that remove unused connection based on
  the UnusedTimeout, agedTime and the ReapTime.