Class NetworkHealthCheck

  • All Implemented Interfaces:
    java.lang.Runnable, ActiveMQComponent

    public class NetworkHealthCheck
    extends ActiveMQScheduledComponent
    This will use InetAddress.isReachable(int) to determine if the network is alive. It will have a set of addresses, and if any address is reached the network will be considered alive.
    • Field Detail

      • IPV6_DEFAULT_COMMAND

        public static final java.lang.String IPV6_DEFAULT_COMMAND
      • IPV4_DEFAULT_COMMAND

        public static final java.lang.String IPV4_DEFAULT_COMMAND
    • Constructor Detail

      • NetworkHealthCheck

        public NetworkHealthCheck()
      • NetworkHealthCheck

        public NetworkHealthCheck​(java.lang.String nicName,
                                  long checkPeriod,
                                  int networkTimeout)
    • Method Detail

      • isIgnoreLoopback

        public boolean isIgnoreLoopback()
      • setIgnoreLoopback

        public NetworkHealthCheck setIgnoreLoopback​(boolean ignoreLoopback)
      • getAddresses

        public java.util.Set<java.lang.String> getAddresses()
      • getUrls

        public java.util.Set<java.net.URL> getUrls()
      • getNICName

        public java.lang.String getNICName()
      • parseAddressList

        public NetworkHealthCheck parseAddressList​(java.lang.String addressList)
      • getNetworkTimeout

        public int getNetworkTimeout()
      • removeAddress

        public NetworkHealthCheck removeAddress​(java.lang.String straddress)
      • getIpv4Command

        public java.lang.String getIpv4Command()
      • setIpv4Command

        public NetworkHealthCheck setIpv4Command​(java.lang.String ipv4Command)
      • getIpv6Command

        public java.lang.String getIpv6Command()
      • setIpv6Command

        public NetworkHealthCheck setIpv6Command​(java.lang.String ipv6Command)
      • run

        public void run()
      • check

        public boolean check()
        Returns:
        true if no checks were done or if one address/url responds; false if all addresses/urls fail
      • check

        public boolean check​(java.lang.String straddress)
      • check

        public boolean check​(java.net.InetAddress address)
                      throws java.io.IOException,
                             java.lang.InterruptedException
        Throws:
        java.io.IOException
        java.lang.InterruptedException
      • isReachable

        protected boolean isReachable​(java.net.InetAddress address)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • purePing

        public boolean purePing​(java.net.InetAddress address)
                         throws java.io.IOException,
                                java.lang.InterruptedException
        Throws:
        java.io.IOException
        java.lang.InterruptedException
      • check

        public boolean check​(java.net.URL url)
      • isEmpty

        public boolean isEmpty()
      • hasCustomPingCommand

        public boolean hasCustomPingCommand()