Class NetworkHealthCheck
- java.lang.Object
-
- org.apache.activemq.artemis.core.server.ActiveMQScheduledComponent
-
- org.apache.activemq.artemis.core.server.NetworkHealthCheck
-
- All Implemented Interfaces:
java.lang.Runnable,ActiveMQComponent
public class NetworkHealthCheck extends ActiveMQScheduledComponent
This will useInetAddress.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 Summary
Fields Modifier and Type Field Description static java.lang.StringIPV4_DEFAULT_COMMANDstatic java.lang.StringIPV6_DEFAULT_COMMAND-
Fields inherited from class org.apache.activemq.artemis.core.server.ActiveMQScheduledComponent
executor, scheduledExecutorService
-
-
Constructor Summary
Constructors Constructor Description NetworkHealthCheck()NetworkHealthCheck(java.lang.String nicName, long checkPeriod, int networkTimeout)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description NetworkHealthCheckaddAddress(java.lang.String straddress)NetworkHealthCheckaddComponent(ActiveMQComponent component)NetworkHealthCheckaddURL(java.net.URL url)booleancheck()booleancheck(java.lang.String straddress)booleancheck(java.net.InetAddress address)booleancheck(java.net.URL url)NetworkHealthCheckclearAddresses()NetworkHealthCheckclearComponents()NetworkHealthCheckclearURL()java.util.Set<java.lang.String>getAddresses()java.lang.StringgetIpv4Command()java.lang.StringgetIpv6Command()intgetNetworkTimeout()java.lang.StringgetNICName()protected ActiveMQThreadFactorygetThreadFactory()java.util.Set<java.net.URL>getUrls()booleanhasCustomPingCommand()booleanisEmpty()booleanisIgnoreLoopback()protected booleanisReachable(java.net.InetAddress address)NetworkHealthCheckparseAddressList(java.lang.String addressList)NetworkHealthCheckparseURIList(java.lang.String addressList)booleanpurePing(java.net.InetAddress address)NetworkHealthCheckremoveAddress(java.lang.String straddress)NetworkHealthCheckremoveURL(java.net.URL url)voidrun()NetworkHealthChecksetIgnoreLoopback(boolean ignoreLoopback)NetworkHealthChecksetIpv4Command(java.lang.String ipv4Command)NetworkHealthChecksetIpv6Command(java.lang.String ipv6Command)NetworkHealthChecksetNetworkTimeout(int networkTimeout)NetworkHealthChecksetNICName(java.lang.String nicName)NetworkHealthChecksetPeriod(long period)NetworkHealthChecksetTimeUnit(java.util.concurrent.TimeUnit timeUnit)-
Methods inherited from class org.apache.activemq.artemis.core.server.ActiveMQScheduledComponent
delay, getInitialDelay, getPeriod, getTimeUnit, isStarted, setInitialDelay, setInitialDelayAndPeriod, setInitialDelayAndPeriod, setPeriod, start, stop
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.activemq.artemis.core.server.ActiveMQComponent
asyncStop
-
-
-
-
Method Detail
-
setNICName
public NetworkHealthCheck setNICName(java.lang.String nicName)
-
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)
-
parseURIList
public NetworkHealthCheck parseURIList(java.lang.String addressList)
-
getThreadFactory
protected ActiveMQThreadFactory getThreadFactory()
- Overrides:
getThreadFactoryin classActiveMQScheduledComponent
-
getNetworkTimeout
public int getNetworkTimeout()
-
setPeriod
public NetworkHealthCheck setPeriod(long period)
- Overrides:
setPeriodin classActiveMQScheduledComponent
-
setTimeUnit
public NetworkHealthCheck setTimeUnit(java.util.concurrent.TimeUnit timeUnit)
- Overrides:
setTimeUnitin classActiveMQScheduledComponent
-
setNetworkTimeout
public NetworkHealthCheck setNetworkTimeout(int networkTimeout)
-
addComponent
public NetworkHealthCheck addComponent(ActiveMQComponent component)
-
clearComponents
public NetworkHealthCheck clearComponents()
-
addAddress
public NetworkHealthCheck addAddress(java.lang.String straddress)
-
removeAddress
public NetworkHealthCheck removeAddress(java.lang.String straddress)
-
clearAddresses
public NetworkHealthCheck clearAddresses()
-
addURL
public NetworkHealthCheck addURL(java.net.URL url)
-
removeURL
public NetworkHealthCheck removeURL(java.net.URL url)
-
clearURL
public NetworkHealthCheck clearURL()
-
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.IOExceptionjava.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.IOExceptionjava.lang.InterruptedException
-
check
public boolean check(java.net.URL url)
-
isEmpty
public boolean isEmpty()
-
hasCustomPingCommand
public boolean hasCustomPingCommand()
-
-