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 2011/07/20 16:29:58 UTC

svn commit: r1148788 - /openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java

Author: rmannibucau
Date: Wed Jul 20 14:29:58 2011
New Revision: 1148788

URL: http://svn.apache.org/viewvc?rev=1148788&view=rev
Log:
adding NetworkUtil to get at runtime an available port (can be useful in tests and maybe in core for server?)

Added:
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java

Added: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java?rev=1148788&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java (added)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java Wed Jul 20 14:29:58 2011
@@ -0,0 +1,32 @@
+package org.apache.openejb.util;
+
+import java.io.IOException;
+import java.net.ServerSocket;
+
+/**
+ * @author Romain Manni-Bucau
+ */
+public final class NetworkUtil {
+    private NetworkUtil() {
+        // no-op
+    }
+
+    /**
+     * @return a opened port or -1 if an IOException occurs.
+     */
+    public static int getAnAvailablePort() {
+        int port = -1;
+        try {
+            ServerSocket server = new ServerSocket(0);
+            port = server.getLocalPort();
+            server.close();
+        } catch (IOException e) {
+            // no-op: -1 will be returned
+        }
+        return port;
+    }
+
+    public static String getLocalAddress(String start, String end) {
+        return start + "localhost:" + getAnAvailablePort() + end;
+    }
+}