|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.tools.ant.ProjectComponent org.apache.tools.ant.taskdefs.condition.IsReachable
public class IsReachable
Test for a host being reachable using ICMP "ping" packets & echo operations. Ping packets are very reliable for assessing reachability in a LAN or WAN, but they do not get through any well-configured firewall. Echo (port 7) may.
This condition turns unknown host exceptions into false conditions. This is because on a laptop, DNS is one of the first services lost when the network goes; you are implicitly offline. If a URL is supplied instead of a host, the hostname is extracted and used in the test--all other parts of the URL are discarded. The test may not work through firewalls; that is, something may be reachable using a protocol such as HTTP, while the lower level ICMP packets get dropped on the floor. Similarly, a host may be detected as reachable with ICMP, but not reachable on other ports (i.e. port 80), because of firewalls. Requires Java1.5+ to work properly. On Java1.4 and earlier, if a hostname can be resolved, the destination is assumed to be reachable.
Field Summary | |
---|---|
static int |
DEFAULT_TIMEOUT
The default timeout. |
static java.lang.String |
ERROR_BAD_TIMEOUT
Error when invalid timeout value is defined |
static java.lang.String |
ERROR_BAD_URL
Error message when an invalid url is used. |
static java.lang.String |
ERROR_BOTH_TARGETS
Error message when url and host are specified. |
static java.lang.String |
ERROR_NO_HOST_IN_URL
Error message when no hostname in url. |
static java.lang.String |
ERROR_NO_HOSTNAME
Error when no hostname is defined |
static java.lang.String |
ERROR_ON_NETWORK
Network error message is seen. |
static java.lang.String |
METHOD_NAME
The method name to look for in InetAddress |
static java.lang.String |
MSG_NO_REACHABLE_TEST
Error message when no reachably test avail. |
Fields inherited from class org.apache.tools.ant.ProjectComponent |
---|
description, location, project |
Constructor Summary | |
---|---|
IsReachable()
|
Method Summary | |
---|---|
boolean |
eval()
Evaluate the condition. |
void |
setHost(java.lang.String host)
Set the host to ping. |
void |
setTimeout(int timeout)
Set the timeout for the reachability test in seconds. |
void |
setUrl(java.lang.String url)
Set the URL from which to extract the hostname. |
Methods inherited from class org.apache.tools.ant.ProjectComponent |
---|
clone, getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int DEFAULT_TIMEOUT
public static final java.lang.String ERROR_NO_HOSTNAME
public static final java.lang.String ERROR_BAD_TIMEOUT
public static final java.lang.String ERROR_ON_NETWORK
public static final java.lang.String ERROR_BOTH_TARGETS
public static final java.lang.String MSG_NO_REACHABLE_TEST
public static final java.lang.String ERROR_BAD_URL
public static final java.lang.String ERROR_NO_HOST_IN_URL
public static final java.lang.String METHOD_NAME
Constructor Detail |
---|
public IsReachable()
Method Detail |
---|
public void setHost(java.lang.String host)
host
- the host to ping.public void setUrl(java.lang.String url)
url
- a URL object.public void setTimeout(int timeout)
timeout
- the timeout in seconds.public boolean eval() throws BuildException
eval
in interface Condition
BuildException
- if an error occurs
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |