You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ju...@apache.org on 2012/04/05 12:49:57 UTC

svn commit: r1309744 - /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/server/Server.java

Author: jukka
Date: Thu Apr  5 10:49:56 2012
New Revision: 1309744

URL: http://svn.apache.org/viewvc?rev=1309744&view=rev
Log:
Avoid problems with 0.0.0.0 as the socket address

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/server/Server.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/server/Server.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/server/Server.java?rev=1309744&r1=1309743&r2=1309744&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/server/Server.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/server/Server.java Thu Apr  5 10:49:56 2012
@@ -22,7 +22,9 @@ import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.net.ServerSocket;
 import java.net.Socket;
+import java.net.SocketAddress;
 import java.net.SocketTimeoutException;
+import java.net.UnknownHostException;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -196,7 +198,22 @@ public class Server {
         if (!started.get() || stopped.get()) {
             return null;
         }
-        return (InetSocketAddress) ss.getLocalSocketAddress();
+        SocketAddress address = ss.getLocalSocketAddress();
+        if (address instanceof InetSocketAddress) {
+            InetSocketAddress isa = (InetSocketAddress) address;
+            if (isa.getAddress().isAnyLocalAddress()) {
+                try {
+                    return new InetSocketAddress(
+                            InetAddress.getByName("localhost"),
+                            ss.getLocalPort());
+                } catch (UnknownHostException e) {
+                    throw new RuntimeException(e);
+                }
+            } else {
+                return isa;
+            }
+        }
+        return null;
     }
 
     /**