[Carbon-dev] svn commit r14902 - in trunk/carbon:
server/src/org/wso2/carbon/server/transports
server/src/org/wso2/carbon/server/transports/http
utils/src/org/wso2/carbon/utils/transport
svn at wso2.org
svn at wso2.org
Mon Mar 17 02:39:23 PDT 2008
Author: azeez
Date: Mon Mar 17 02:39:12 2008
New Revision: 14902
Log:
Stopping standalone transports
Modified:
trunk/carbon/server/src/org/wso2/carbon/server/transports/Transport.java
trunk/carbon/server/src/org/wso2/carbon/server/transports/http/HttpTransport.java
trunk/carbon/server/src/org/wso2/carbon/server/transports/http/HttpsTransport.java
trunk/carbon/utils/src/org/wso2/carbon/utils/transport/AbstractTransportListener.java
Modified: trunk/carbon/server/src/org/wso2/carbon/server/transports/Transport.java
==============================================================================
--- trunk/carbon/server/src/org/wso2/carbon/server/transports/Transport.java (original)
+++ trunk/carbon/server/src/org/wso2/carbon/server/transports/Transport.java Mon Mar 17 02:39:12 2008
@@ -51,4 +51,11 @@
* @return The transport port. If port is not applicable for a particular transport, returns -1.
*/
int getPort();
+
+ /**
+ * Get the tranport proxy port. If port is not applicable for a particular transport, returns -1.
+ *
+ * @return The transport proxy port. If port is not applicable for a particular transport, returns -1.
+ */
+ int getProxyPort();
}
Modified: trunk/carbon/server/src/org/wso2/carbon/server/transports/http/HttpTransport.java
==============================================================================
--- trunk/carbon/server/src/org/wso2/carbon/server/transports/http/HttpTransport.java (original)
+++ trunk/carbon/server/src/org/wso2/carbon/server/transports/http/HttpTransport.java Mon Mar 17 02:39:12 2008
@@ -17,12 +17,13 @@
import org.apache.catalina.connector.Connector;
import org.apache.catalina.startup.Embedded;
+import org.apache.catalina.LifecycleException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.axis2.AxisFault;
import org.wso2.carbon.server.TomcatServerCache;
import org.wso2.carbon.server.transports.Transport;
import org.wso2.carbon.server.transports.TransportParameter;
-//import org.wso2.carbon.utils.transport.ProxyCache;
import java.net.InetAddress;
import java.util.List;
@@ -34,6 +35,7 @@
private static final Log log = LogFactory.getLog(HttpTransport.class);
private boolean isStarted;
private Connector connector;
+ private int proxyPort = -1;
public void init(List<TransportParameter> parameters) throws Exception {
log.info("Initializing HTTP Transport...");
@@ -45,7 +47,7 @@
Integer.parseInt(parameter.getValue()),
false);
} else if (parameter.getName().equals("proxyPort")) {
-// ProxyCache.getInstance().setHttpPort(Integer.parseInt(parameter.getValue()));
+ proxyPort = Integer.parseInt(parameter.getValue());
} else {
connector.setAttribute(parameter.getName(), parameter.getValue());
}
@@ -77,12 +79,28 @@
log.info("HTTP port : " + getPort());
}
- public void stop() {
- //TODO: Method implementation
-
+ public void stop() throws Exception {
+ if (!isStarted) {
+ return;
+ }
+ log.info("Stopping HTTP transport...");
+ try {
+ if (connector.isAvailable()) {
+ connector.stop();
+ }
+ isStarted = false;
+ } catch (LifecycleException e) {
+ String msg = "Cannot stop Tomcat HTTP connector";
+ log.error(msg, e);
+ throw new Exception(msg, e);
+ }
}
public int getPort() {
return connector.getPort();
}
+
+ public int getProxyPort() {
+ return proxyPort;
+ }
}
Modified: trunk/carbon/server/src/org/wso2/carbon/server/transports/http/HttpsTransport.java
==============================================================================
--- trunk/carbon/server/src/org/wso2/carbon/server/transports/http/HttpsTransport.java (original)
+++ trunk/carbon/server/src/org/wso2/carbon/server/transports/http/HttpsTransport.java Mon Mar 17 02:39:12 2008
@@ -17,8 +17,10 @@
import org.apache.catalina.connector.Connector;
import org.apache.catalina.startup.Embedded;
+import org.apache.catalina.LifecycleException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.axis2.AxisFault;
import org.wso2.carbon.server.TomcatServerCache;
import org.wso2.carbon.server.transports.Transport;
import org.wso2.carbon.server.transports.TransportParameter;
@@ -33,7 +35,7 @@
private static final Log log = LogFactory.getLog(HttpsTransport.class);
private boolean isStarted;
private Connector connector;
-
+ private int proxyPort = -1;
public void init(List<TransportParameter> parameters) throws Exception {
log.info("Initializing HTTPS Transport...");
@@ -47,7 +49,7 @@
Integer.parseInt(parameter.getValue()),
false);
} else if (name.equals("proxyPort")) {
-// ProxyCache.getInstance().setHttpsPort(Integer.parseInt(parameter.getValue()));
+ proxyPort = Integer.parseInt(parameter.getValue());
} else {
connector.setAttribute(parameter.getName(), parameter.getValue());
}
@@ -80,12 +82,28 @@
log.info("HTTPS port : " + getPort());
}
- public void stop() {
- //TODO: Method implementation
-
+ public void stop() throws Exception {
+ if (!isStarted) {
+ return;
+ }
+ log.info("Stopping HTTPS transport...");
+ try {
+ if (connector.isAvailable()) {
+ connector.stop();
+ }
+ isStarted = false;
+ } catch (LifecycleException e) {
+ String msg = "Cannot stop Tomcat HTTP connector";
+ log.error(msg, e);
+ throw new Exception(msg, e);
+ }
}
public int getPort() {
return connector.getPort();
}
+
+ public int getProxyPort() {
+ return proxyPort;
+ }
}
Modified: trunk/carbon/utils/src/org/wso2/carbon/utils/transport/AbstractTransportListener.java
==============================================================================
--- trunk/carbon/utils/src/org/wso2/carbon/utils/transport/AbstractTransportListener.java (original)
+++ trunk/carbon/utils/src/org/wso2/carbon/utils/transport/AbstractTransportListener.java Mon Mar 17 02:39:12 2008
@@ -46,7 +46,7 @@
private String transport;
protected ConfigurationContext configurationContext;
- protected int port;
+ protected int port = -1;
protected int proxyPort = -1;
public void init(ConfigurationContext configContext,
@@ -69,14 +69,26 @@
} else {
Parameter portParam = transportIn.getParameter("port");
if (portParam != null) {
- this.port = Integer.parseInt(portParam.getValue().toString().trim());
+ port = Integer.parseInt(portParam.getValue().toString().trim());
}
}
// Set the proxy port
- Parameter proxyParam = transportIn.getParameter(WSO2Constants.PROXY_PORT);
- if (proxyParam != null) {
- proxyPort = Integer.parseInt(proxyParam.getValue().toString().trim());
+ if (System.getProperty(ServerConstants.STANDALONE_MODE, "false").equalsIgnoreCase("true")) {
+ transport = transportIn.getName();
+ try {
+ Method method = transportManagerClass.getMethod("getProxyPort", String.class);
+ proxyPort = (Integer) method.invoke(transportManager, transport);
+ } catch (Exception e) {
+ String msg = "Cannot get transport proxy port";
+ log.error(msg, e);
+ throw new AxisFault(msg, e);
+ }
+ } else {
+ Parameter portParam = transportIn.getParameter("proxyPort");
+ if (portParam != null) {
+ proxyPort = Integer.parseInt(portParam.getValue().toString().trim());
+ }
}
}
@@ -119,16 +131,6 @@
return genEpr(protocol, ip, serviceContextPath, serviceName);
}
- public EndpointReference getEPR(String protocol,
- String serviceName,
- String ip,
- String contextPath) throws AxisFault {
- if (configurationContext == null) {
- return null;
- }
- return genEpr(protocol, ip, configurationContext.getServiceContextPath(), serviceName);
- }
-
public SessionContext getSessionContext(MessageContext messageContext) {
return SessionContextUtil.createSessionContext(messageContext);
}
@@ -147,7 +149,7 @@
if (proxyPort == 80 || proxyPort == 443) {
tmp += serviceContextPath + "/" + serviceName;
return new EndpointReference(tmp);
- } else if (proxyPort > -1) {
+ } else if (proxyPort != -1) {
tmp += ":" + proxyPort + serviceContextPath + "/" + serviceName;
return new EndpointReference(tmp);
} else {
More information about the Carbon-dev
mailing list