You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/09/21 17:02:42 UTC

svn commit: r1388543 - /openejb/branches/openejb-4.5.0/container/openejb-core/src/main/java/org/apache/openejb/monitoring/remote/RemoteResourceMonitor.java

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) {