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;
+ }
+}