Example #1
0
  private void checkAgentStatus(AgentHandler handler) {
    List<String> currentAgents = getConnectedHosts();
    for (String disConnectedIP : lastAgents) {
      boolean hasDisConnected = true;
      for (String tmp : currentAgents) {
        if (disConnectedIP.equals(tmp)) {
          hasDisConnected = false;
          break;
        }
      }
      if (hasDisConnected) {
        handler.disConnected(disConnectedIP);
      }
    }

    for (String connectedIP : currentAgents) {
      boolean hasConnectedIP = true;
      for (String tmp : lastAgents) {
        if (connectedIP.equals(tmp)) {
          hasConnectedIP = false;
          break;
        }
      }
      if (hasConnectedIP) {
        handler.connected(connectedIP);
      }
    }
    lastAgents = currentAgents;
  }
Example #2
0
 @Override
 public void agentMonitor(final AgentHandler handler) {
   lastAgents = handler.getConnectedFromDB();
   Thread monitorThread =
       new Thread(
           new Runnable() {
             @Override
             public void run() {
               while (true) {
                 try {
                   checkAgentStatus(handler);
                   Thread.sleep(THIRTY_SECONDS);
                 } catch (InterruptedException e) {
                   LOGGER.error(e, e);
                 }
               }
             }
           });
   monitorThread.start();
 }