Author: deepal
Date: Tue Oct 14 03:04:36 2014
New Revision: 1631608
URL: http://svn.apache.org/r1631608
Log:
Applying the patch
https://issues.apache.org/jira/secure/attachment/12674478/AXIS2-5673.patch
Modified:
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java
Modified:
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java?rev=1631608&r1=1631607&r2=1631608&view=diff
==============================================================================
---
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java
(original)
+++
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java
Tue Oct 14 03:04:36 2014
@@ -87,11 +87,11 @@ import java.util.concurrent.CountDownLat
*/
public class AxisServlet extends HttpServlet {
private static final long serialVersionUID = 3105135058353738906L;
-
+
static final OnDemandLogger log = new OnDemandLogger(AxisServlet.class);
public static final String CONFIGURATION_CONTEXT = "CONFIGURATION_CONTEXT";
public static final String SESSION_ID = "SessionId";
-
+
private static final Set<String> metadataQueryParamNames;
protected transient ConfigurationContext configContext;
@@ -108,9 +108,9 @@ public class AxisServlet extends HttpSer
private boolean closeReader = true;
private static final int BUFFER_SIZE = 1024 * 8;
-
+
private boolean initCalled = false;
-
+
private transient AxisServletListener httpListener;
private transient AxisServletListener httpsListener;
@@ -145,7 +145,7 @@ public class AxisServlet extends HttpSer
//set the initial buffer for a larger value
response.setBufferSize(BUFFER_SIZE);
-
+
preprocessRequest(request);
MessageContext msgContext;
@@ -157,9 +157,9 @@ public class AxisServlet extends HttpSer
try {
// adding ServletContext into msgContext;
String url = request.getRequestURL().toString();
-
+
OutputStream bufferedOut = new BufferedOutputStream(out);
-
+
InvocationResponse pi = HTTPTransportUtils.
processHTTPPostRequest(msgContext,
new
BufferedInputStream(request.getInputStream()),
@@ -179,8 +179,8 @@ public class AxisServlet extends HttpSer
}
// if data has not been sent back and this is not a signal
response
- if (!TransportUtils.isResponseWritten(msgContext)
- && (((RequestResponseTransport)
+ if (!TransportUtils.isResponseWritten(msgContext)
+ && (((RequestResponseTransport)
msgContext.getProperty(
RequestResponseTransport.TRANSPORT_CONTROL)).
getStatus() !=
RequestResponseTransport.
@@ -193,7 +193,7 @@ public class AxisServlet extends HttpSer
+ msgContext
.getProperty(Constants.Configuration.CHARACTER_SET_ENCODING));
}
-
+
// Make sure that no data remains in the BufferedOutputStream
even if the message
// formatter doesn't call flush
bufferedOut.flush();
@@ -458,7 +458,7 @@ public class AxisServlet extends HttpSer
*/
@Override
public void init(ServletConfig config) throws ServletException {
-
+
// prevent this method from being called more than once per instance
initCalled = true;
super.init(config);
@@ -516,9 +516,12 @@ public class AxisServlet extends HttpSer
"unreliable.");
}
- ListenerManager listenerManager = new ListenerManager();
- listenerManager.init(configContext);
- listenerManager.start();
+ // AXIS2-5673: Create a new ListenerManager only if configContext does
not have one already.
+ if (configContext.getListenerManager() == null) {
+ ListenerManager listenerManager = new ListenerManager();
+ listenerManager.init(configContext);
+ listenerManager.start();
+ }
}
private AxisServletListener getAxisServletListener(String name) {
@@ -563,7 +566,7 @@ public class AxisServlet extends HttpSer
} else {
MultiThreadedHttpConnectionManager.shutdownAll();
}
-
+
}
private String getHTTPClientVersion() {
@@ -643,7 +646,7 @@ public class AxisServlet extends HttpSer
configContext.setContextRoot(contextRoot);
}
-
+
/**
* Preprocess the request. This will:
* <ul>
@@ -653,7 +656,7 @@ public class AxisServlet extends HttpSer
* <li>Reject the request if no {@link AxisServletListener} has been
registered for the
* protocol.
* </ul>
- *
+ *
* @param req the request to preprocess
*/
// This method should not be part of the public API. In particular we must
not allow subclasses
@@ -677,7 +680,7 @@ public class AxisServlet extends HttpSer
}
}
}
-
+
}
/**
@@ -808,15 +811,15 @@ public class AxisServlet extends HttpSer
faultToBeThrownOut = fault;
signalResponseReady();
}
-
+
public boolean isResponseWritten() {
return responseWritten;
}
-
+
public void setResponseWritten(boolean responseWritten) {
this.responseWritten = responseWritten;
}
-
+
}
void setResponseState(MessageContext messageContext, HttpServletResponse
response) {