You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2012/04/30 13:25:26 UTC

svn commit: r1332161 - /sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/ControlListener.java

Author: fmeschbe
Date: Mon Apr 30 11:25:25 2012
New Revision: 1332161

URL: http://svn.apache.org/viewvc?rev=1332161&view=rev
Log:
Listen on localhost by default

Modified:
    sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/ControlListener.java

Modified: sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/ControlListener.java
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/ControlListener.java?rev=1332161&r1=1332160&r2=1332161&view=diff
==============================================================================
--- sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/ControlListener.java (original)
+++ sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/ControlListener.java Mon Apr 30 11:25:25 2012
@@ -28,12 +28,10 @@ import java.io.InputStreamReader;
 import java.io.LineNumberReader;
 import java.io.OutputStreamWriter;
 import java.net.ConnectException;
-import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.net.ServerSocket;
 import java.net.Socket;
 import java.net.SocketAddress;
-import java.net.UnknownHostException;
 
 /**
  * The <code>ControlListener</code> class is a helper class for the {@link Main}
@@ -72,6 +70,9 @@ class ControlListener implements Runnabl
     // the response sent by the server if the command executed successfully
     private static final String RESPONSE_OK = "OK";
 
+    // The default interface to listen on
+    private static final String DEFAULT_LISTEN_INTERFACE = "127.0.0.1";
+
     // The default port to listen on and to connect to - we select it randomly
     private static final int DEFAULT_LISTEN_PORT = 0;
 
@@ -170,16 +171,20 @@ class ControlListener implements Runnabl
 
                     if (COMMAND_STOP.equals(command)) {
                         slingMain.doStop();
+                        Main.info(s.getRemoteSocketAddress() + "<" + RESPONSE_OK, null);
                         writeLine(s, RESPONSE_OK);
 
                         Main.info("Apache Sling shut down, exiting Java VM", null);
                         System.exit(0);
 
                     } else if (COMMAND_STATUS.equals(command)) {
+                        Main.info(s.getRemoteSocketAddress() + "<" + RESPONSE_OK, null);
                         writeLine(s, RESPONSE_OK);
 
                     } else {
-                        writeLine(s, "ERR:" + command);
+                        final String msg = "ERR:" + command;
+                        Main.info(s.getRemoteSocketAddress() + "<" + msg, null);
+                        writeLine(s, msg);
 
                     }
                 } finally {
@@ -207,26 +212,29 @@ class ControlListener implements Runnabl
                 listenSpec = this.readPortFromConfigFile();
             }
             if ( listenSpec == null ) {
-                listenSpec = InetAddress.getLocalHost().getHostName() + ':' + String.valueOf(DEFAULT_LISTEN_PORT);
+                listenSpec = DEFAULT_LISTEN_INTERFACE + ":" + DEFAULT_LISTEN_PORT;
             }
             final int colon = listenSpec.indexOf(':');
+            final InetSocketAddress addr;
             if (colon < 0) {
-                return new InetSocketAddress(InetAddress.getLocalHost(),
-                    Integer.parseInt(listenSpec));
+                addr = new InetSocketAddress(DEFAULT_LISTEN_INTERFACE, Integer.parseInt(listenSpec));
+            } else {
+                addr = new InetSocketAddress(listenSpec.substring(0, colon),
+                    Integer.parseInt(listenSpec.substring(colon + 1)));
+            }
+            if (!addr.isUnresolved()) {
+                return addr;
             }
-            return new InetSocketAddress(listenSpec.substring(0, colon),
-                Integer.parseInt(listenSpec.substring(colon + 1)));
+            Main.error("Unknown host in '" + listenSpec, null);
         } catch (final NumberFormatException nfe) {
             Main.error("Cannot parse port number from '" + listenSpec + "'",
                 null);
-        } catch (final UnknownHostException uhe) {
-            Main.error("Unknown host in '" + listenSpec + "': "
-                + uhe.getMessage(), null);
         }
 
         return null;
     }
 
+
     /**
      * Sends the given command to the server indicated by the configured
      * socket address and logs the reply.