@Override public boolean hasExpired(final Long aliveTimerId){
  aliveTimerCache.acquireReadLockOnKey(aliveTimerId);
  try {
    AliveTimer aliveTimer=aliveTimerCache.get(aliveTimerId);
    return (System.currentTimeMillis() - aliveTimer.getLastUpdate() > aliveTimer.getAliveInterval() + aliveTimer.getAliveInterval() / 3);
  }
  finally {
    aliveTimerCache.releaseReadLockOnKey(aliveTimerId);
  }
}

@ Override public boolean hasExpired ( final Long aliveTimerId ) { aliveTimerCache . acquireReadLockOnKey ( aliveTimerId ) ; try { AliveTimer aliveTimer = aliveTimerCache . get ( aliveTimerId ) ; return ( System . currentTimeMillis ( ) - aliveTimer . getLastUpdate ( ) > aliveTimer . getAliveInterval ( ) + aliveTimer . getAliveInterval ( ) / 3 ) ; } finally { aliveTimerCache . releaseReadLockOnKey ( aliveTimerId ) ; } }
check whether this alive timer has expired .
