Author: asankha
Date: Sat Jan  5 01:16:27 2008
New Revision: 609107

URL: http://svn.apache.org/viewvc?rev=609107&view=rev
Log:
fix SYNAPSE-220 (support parameter bind-address for nhttp/s transports)

Modified:
    
webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListener.java
    
webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java

Modified: 
webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListener.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListener.java?rev=609107&r1=609106&r2=609107&view=diff
==============================================================================
--- 
webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListener.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListener.java
 Sat Jan  5 01:16:27 2008
@@ -22,6 +22,7 @@
 import java.io.InterruptedIOException;
 import java.net.InetSocketAddress;
 import java.net.UnknownHostException;
+import java.net.InetAddress;
 import java.lang.management.ManagementFactory;
 
 import javax.net.ssl.SSLContext;
@@ -69,6 +70,8 @@
     private int port = 8080;
     /** The hostname to use, defaults to localhost */
     private String host = "localhost";
+    /** The bind addresses as (address, port) pairs */
+    private String bindAddress = null;
     /** SSLContext if this listener is a SSL listener */
     private SSLContext sslContext = null;
     /** The SSL session handler that manages client authentication etc */
@@ -110,7 +113,12 @@
             handler, sslContext, sslIOSessionHandler, params);
         state = BaseConstants.STARTED;
         try {
-            ioReactor.listen(new InetSocketAddress(port));
+            if (bindAddress == null) {
+                ioReactor.listen(new InetSocketAddress(port));
+            } else {
+                ioReactor.listen(new InetSocketAddress(
+                    InetAddress.getByName(bindAddress), port));
+            }
             ioReactor.execute(ioEventDispatch);
         } catch (InterruptedIOException ex) {
             log.fatal("Reactor Interrupted");
@@ -160,6 +168,11 @@
             port = Integer.parseInt((String) param.getValue());
         }
 
+        param = transprtIn.getParameter(NhttpConstants.BIND_ADDRESS);
+        if (param != null) {
+            bindAddress = ((String) param.getValue()).trim();
+        }
+
         param = transprtIn.getParameter(HOST_ADDRESS);
         if (param != null) {
             host = ((String) param.getValue()).trim();
@@ -258,7 +271,8 @@
         }, "HttpCoreNIOListener");
 
         t.start();
-        log.info((sslContext == null ? "HTTP" : "HTTPS") + " Listener starting 
on port : " + port);
+        log.info((sslContext == null ? "HTTP" : "HTTPS") + " Listener starting 
on" +
+            (bindAddress != null ? " address : " + bindAddress : "") + " port 
: " + port);
     }
 
     /**

Modified: 
webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java?rev=609107&r1=609106&r2=609107&view=diff
==============================================================================
--- 
webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java
 Sat Jan  5 01:16:27 2008
@@ -26,4 +26,5 @@
 
     public static final String WSDL_EPR_PREFIX = "WSDLEPRPrefix";
     public static final String REMOTE_HOST ="REMOTE_HOST";
+    public static final String BIND_ADDRESS = "bind-address";
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to