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]