Author: bvahdat
Date: Sat Feb 11 10:31:31 2012
New Revision: 1243023
URL: http://svn.apache.org/viewvc?rev=1243023&view=rev
Log:
CAMEL-4998: Optimized the logic in that now we do NOT touch the spring
WebServiceTemplate at all if no timeout configuration is given.
Modified:
camel/trunk/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java
Modified:
camel/trunk/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java?rev=1243023&r1=1243022&r2=1243023&view=diff
==============================================================================
---
camel/trunk/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java
(original)
+++
camel/trunk/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java
Sat Feb 11 10:31:31 2012
@@ -90,6 +90,10 @@ public class SpringWebserviceProducer ex
}
private static void populateTimeout(SpringWebserviceConfiguration
configuration) throws Exception {
+ if (!(configuration.getTimeout() > -1)) {
+ return;
+ }
+
WebServiceTemplate webServiceTemplate =
configuration.getWebServiceTemplate();
List<WebServiceMessageSender> webServiceMessageSenders = new
ArrayList<WebServiceMessageSender>(webServiceTemplate.getMessageSenders().length);
Collections.addAll(webServiceMessageSenders,
webServiceTemplate.getMessageSenders());
@@ -99,41 +103,26 @@ public class SpringWebserviceProducer ex
setTimeOut(commonsHttpMessageSender, configuration);
} else if (webServiceMessageSender instanceof
HttpsUrlConnectionMessageSender) {
// Should check HttpsUrlConnectionMessageSender beforehand as
it extends HttpUrlConnectionMessageSender
- if (shouldConsiderTimeoutConfiguration(configuration)) {
- webServiceMessageSenders.remove(webServiceMessageSender);
- webServiceMessageSenders.add(new
CamelHttpsUrlConnectionMessageSender(configuration,
(HttpsUrlConnectionMessageSender) webServiceMessageSender));
- }
+ webServiceMessageSenders.remove(webServiceMessageSender);
+ webServiceMessageSenders.add(new
CamelHttpsUrlConnectionMessageSender(configuration,
(HttpsUrlConnectionMessageSender) webServiceMessageSender));
} else if (webServiceMessageSender instanceof
HttpUrlConnectionMessageSender) {
- if (shouldConsiderTimeoutConfiguration(configuration)) {
- webServiceMessageSenders.remove(webServiceMessageSender);
- webServiceMessageSenders.add(new
CamelHttpUrlConnectionMessageSender(configuration,
(HttpUrlConnectionMessageSender) webServiceMessageSender));
- }
+ webServiceMessageSenders.remove(webServiceMessageSender);
+ webServiceMessageSenders.add(new
CamelHttpUrlConnectionMessageSender(configuration,
(HttpUrlConnectionMessageSender) webServiceMessageSender));
} else {
- // Warn only if the timeout option has been explicitly
specified
- if (shouldConsiderTimeoutConfiguration(configuration)) {
- // For example this will be the case during unit-testing
with the net.javacrumbs.spring-ws-test API
- LOG.warn("Ignoring the timeout option for {} as there's no
provided API available to populate it!", webServiceMessageSender);
- }
+ // For example this will be the case during unit-testing with
the net.javacrumbs.spring-ws-test API
+ LOG.warn("Ignoring the timeout option for {} as there's no
provided API available to populate it!", webServiceMessageSender);
}
}
webServiceTemplate.setMessageSenders(webServiceMessageSenders.toArray(new
WebServiceMessageSender[webServiceMessageSenders.size()]));
}
- private static boolean
shouldConsiderTimeoutConfiguration(SpringWebserviceConfiguration configuration)
{
- return configuration.getTimeout() > -1;
- }
-
private static void setTimeOut(HttpURLConnection connection,
SpringWebserviceConfiguration configuration) {
- if (shouldConsiderTimeoutConfiguration(configuration)) {
- connection.setReadTimeout(configuration.getTimeout());
- }
+ connection.setReadTimeout(configuration.getTimeout());
}
private static void setTimeOut(CommonsHttpMessageSender
commonsHttpMessageSender, SpringWebserviceConfiguration configuration) {
- if (shouldConsiderTimeoutConfiguration(configuration)) {
-
commonsHttpMessageSender.setReadTimeout(configuration.getTimeout());
- }
+ commonsHttpMessageSender.setReadTimeout(configuration.getTimeout());
}
protected static class CamelHttpUrlConnectionMessageSender extends
HttpUrlConnectionMessageSender {
@@ -166,7 +155,7 @@ public class SpringWebserviceProducer ex
// Populate the single acceptGzipEncoding property beforehand as
we have got a proper set/is API for it
setAcceptGzipEncoding(webServiceMessageSender.isAcceptGzipEncoding());
- // Populate the fields having no getXXX available on
HttpsUrlConnectionMessageSender
+ // Populate the fields not having getXXX available on
HttpsUrlConnectionMessageSender
ReflectionHelper.doWithFields(HttpsUrlConnectionMessageSender.class, new
FieldCallback() {
@Override