Author: rmannibucau
Date: Fri Sep 21 15:02:41 2012
New Revision: 1388543
URL: http://svn.apache.org/viewvc?rev=1388543&view=rev
Log:
better ping message
Modified:
openejb/branches/openejb-4.5.0/container/openejb-core/src/main/java/org/apache/openejb/monitoring/remote/RemoteResourceMonitor.java
Modified:
openejb/branches/openejb-4.5.0/container/openejb-core/src/main/java/org/apache/openejb/monitoring/remote/RemoteResourceMonitor.java
URL:
http://svn.apache.org/viewvc/openejb/branches/openejb-4.5.0/container/openejb-core/src/main/java/org/apache/openejb/monitoring/remote/RemoteResourceMonitor.java?rev=1388543&r1=1388542&r2=1388543&view=diff
==============================================================================
---
openejb/branches/openejb-4.5.0/container/openejb-core/src/main/java/org/apache/openejb/monitoring/remote/RemoteResourceMonitor.java
(original)
+++
openejb/branches/openejb-4.5.0/container/openejb-core/src/main/java/org/apache/openejb/monitoring/remote/RemoteResourceMonitor.java
Fri Sep 21 15:02:41 2012
@@ -24,7 +24,6 @@ import javax.management.Attribute;
import javax.management.AttributeList;
import javax.management.AttributeNotFoundException;
import javax.management.DynamicMBean;
-import javax.management.InstanceAlreadyExistsException;
import javax.management.InvalidAttributeValueException;
import javax.management.MBeanAttributeInfo;
import javax.management.MBeanException;
@@ -73,7 +72,7 @@ public class RemoteResourceMonitor imple
}
final ObjectNameBuilder jmxName = new
ObjectNameBuilder("openejb.management");
- jmxName.set("ObjectType", "hosts");
+ jmxName.set("ObjectType", "Related Hosts");
objectName = jmxName.build();
try {
@@ -146,13 +145,18 @@ public class RemoteResourceMonitor imple
private static String ping(final String host) {
try {
final InetAddress address = InetAddress.getByName(host);
- final long start = System.nanoTime();
boolean ok = address.isReachable(30000);
- final long end = System.nanoTime();
- if (!ok) {
- return "Can't ping host, timeout (30s)";
+ if (ok) { // do it twice since the first one is generally longer
+ final long start = System.nanoTime();
+ ok = address.isReachable(30000);
+ final long end = System.nanoTime();
+ if (ok) {
+ final long duration = end - start;
+ final long ms = TimeUnit.NANOSECONDS.toMillis(duration);
+ return "Ping done in " + ms + "." + Long.toString(duration
- 1000 * ms) + " ms";
+ }
}
- return Long.toString(TimeUnit.NANOSECONDS.toMillis(end - start));
+ return "Can't ping host, timeout (30s)";
} catch (UnknownHostException e) {
return "Can't find host: " + e.getMessage();
} catch (IOException e) {