Ejemplo n.º 1
0
    @Override
    public void run() {
      try {
        long idleTime = (System.currentTimeMillis() - socket.getLastAccess()) / 1000;
        if (idleTime >= timeout) {
          if (!socket.getSocket().isClosed()) {
            logger.debug(
                "Connection {}:{} has been idle for {} seconds",
                socket.getSocket().getInetAddress(),
                socket.getSocket().getPort(),
                idleTime);
            logger.debug(
                "Closing connection {}:{}",
                socket.getSocket().getInetAddress(),
                socket.getSocket().getPort());
            socket.close();
          }
        }

      } catch (IOException e) {
        logger.error(
            "Error closing connection {}:{}",
            socket.getSocket().getInetAddress(),
            socket.getSocket().getPort());
      }
    }