You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by az...@apache.org on 2008/06/16 14:49:03 UTC
svn commit: r668142 - in /webservices/axis2/trunk/java/modules:
clustering/src/org/apache/axis2/clustering/
clustering/src/org/apache/axis2/clustering/tribes/
kernel/src/org/apache/axis2/clustering/
Author: azeez
Date: Mon Jun 16 05:49:02 2008
New Revision: 668142
URL: http://svn.apache.org/viewvc?rev=668142&view=rev
Log:
1. Handle scenario when HTTP and/or HTTPS transports are not available
2. Try to connect to HTTP/S ports only if they are available (!= -1)
Modified:
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/DefaultLoadBalanceEventHandler.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/LoadBalancerInterceptor.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/clustering/Member.java
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/DefaultLoadBalanceEventHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/DefaultLoadBalanceEventHandler.java?rev=668142&r1=668141&r2=668142&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/DefaultLoadBalanceEventHandler.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/DefaultLoadBalanceEventHandler.java Mon Jun 16 05:49:02 2008
@@ -27,7 +27,7 @@
import java.util.List;
/**
- * The default, dummy implementation of {@link LoadBalanceEventHandler}
+ * The default implementation of {@link LoadBalanceEventHandler}
*/
public class DefaultLoadBalanceEventHandler implements LoadBalanceEventHandler {
@@ -81,12 +81,16 @@
for (int retries = 30; retries > 0; retries--) {
try {
InetAddress addr = InetAddress.getByName(member.getHostName());
- SocketAddress httpSockaddr = new InetSocketAddress(addr,
- member.getHttpPort());
- new Socket().connect(httpSockaddr, 10000);
- SocketAddress httpsSockaddr = new InetSocketAddress(addr,
- member.getHttpsPort());
- new Socket().connect(httpsSockaddr, 10000);
+ int httpPort = member.getHttpPort();
+ if (httpPort != -1) {
+ SocketAddress httpSockaddr = new InetSocketAddress(addr, httpPort);
+ new Socket().connect(httpSockaddr, 10000);
+ }
+ int httpsPort = member.getHttpsPort();
+ if (httpsPort != -1) {
+ SocketAddress httpsSockaddr = new InetSocketAddress(addr, httpsPort);
+ new Socket().connect(httpsSockaddr, 10000);
+ }
return true;
} catch (IOException e) {
String msg = e.getMessage();
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/LoadBalancerInterceptor.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/LoadBalancerInterceptor.java?rev=668142&r1=668141&r2=668142&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/LoadBalancerInterceptor.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/LoadBalancerInterceptor.java Mon Jun 16 05:49:02 2008
@@ -107,10 +107,17 @@
new org.apache.axis2.clustering.Member(TribesUtil.getHost(member),
member.getPort());
Properties props = getProperties(member.getPayload());
- int httpPort = Integer.parseInt(props.getProperty("HTTP"));
- int httpsPort = Integer.parseInt(props.getProperty("HTTPS"));
- axis2Member.setHttpPort(httpPort);
- axis2Member.setHttpsPort(httpsPort);
+
+ String http = props.getProperty("HTTP");
+ if (http != null && http.trim().length() != 0) {
+ axis2Member.setHttpPort(Integer.parseInt(http));
+ }
+
+ String https = props.getProperty("HTTPS");
+ if (https != null && https.trim().length() != 0) {
+ axis2Member.setHttpsPort(Integer.parseInt(https));
+ }
+
return axis2Member;
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/clustering/Member.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/clustering/Member.java?rev=668142&r1=668141&r2=668142&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/clustering/Member.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/clustering/Member.java Mon Jun 16 05:49:02 2008
@@ -28,17 +28,17 @@
/**
* The TCP port used by this member for communicating clustering messages
*/
- private int port;
+ private int port = -1;
/**
* The HTTP port used by this member for servicing Web service requests. Used for load balancing
*/
- private int httpPort;
+ private int httpPort = -1;
/**
* The HTTPS port used by this member for servicing Web service requests. Used for load balancing
*/
- private int httpsPort;
+ private int httpsPort = -1;
public Member(String hostName, int port) {
this.hostName = hostName;