All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.nitorcreations.willow.deployer.statistics.HostInfoSender Maven / Gradle / Ivy

package com.nitorcreations.willow.deployer.statistics;

import java.net.InetAddress;
import java.util.Properties;
import java.util.logging.Logger;

import javax.inject.Named;

import com.nitorcreations.willow.messages.HostInfoMessage;
import com.nitorcreations.willow.utils.HostUtil;

@Named("hostinfo")
public class HostInfoSender extends AbstractStatisticsSender {

  private Logger logger = Logger.getLogger(getClass().getName());
  private long interval = 30000;
  @Override
  public void execute() {
    HostInfoMessage him = new HostInfoMessage();
    him.username = System.getProperty("user.name");
    InetAddress privateAddress = HostUtil.getPrivateIpAddress();
    if (privateAddress != null) {
      him.privateIpAddress = privateAddress.getHostAddress();
      him.privateHostname = privateAddress.getCanonicalHostName();
    }
    InetAddress publicAddress = HostUtil.getPublicIpAddress();
    if (publicAddress != null) {
      him.publicIpAddress = publicAddress.getHostAddress();
      him.publicHostname = publicAddress.getCanonicalHostName();
    }
    logger.finest("Sending HostInfoMessage");
    transmitter.queue(him);
    try {
      Thread.sleep(interval);
    } catch (InterruptedException e1) {
      logger.finest("HostInfoSender interrupted");
    }
  }
  @Override
  public void setProperties(Properties properties) {
    interval = Long.parseLong(properties.getProperty("interval", Long.toString(interval)));
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy