diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/ThreadPoolTaskExecutorParser.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/ThreadPoolTaskExecutorParser.java
index 8d660496e6..43839c4a73 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/ThreadPoolTaskExecutorParser.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/ThreadPoolTaskExecutorParser.java
@@ -24,6 +24,7 @@ import org.w3c.dom.Element;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.AbstractSimpleBeanDefinitionParser;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+import org.springframework.util.StringUtils;
/**
* @author Mark Fisher
@@ -55,7 +56,10 @@ public class ThreadPoolTaskExecutorParser extends AbstractSimpleBeanDefinitionPa
String policyName = element.getAttribute(REJECTION_POLICY_ATTRIBUTE);
builder.addPropertyValue("rejectedExecutionHandler", createRejectedExecutionHandler(policyName));
builder.addPropertyValue("corePoolSize", element.getAttribute(CORE_SIZE_ATTRIBUTE));
- builder.addPropertyValue("maxPoolSize", element.getAttribute(MAX_SIZE_ATTRIBUTE));
+ String maxSize = element.getAttribute(MAX_SIZE_ATTRIBUTE);
+ if (StringUtils.hasText(maxSize)) {
+ builder.addPropertyValue("maxPoolSize", maxSize);
+ }
}
private RejectedExecutionHandler createRejectedExecutionHandler(String policyName) {
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/spring-integration-1.0.xsd b/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/spring-integration-1.0.xsd
index 06073075c0..3843799446 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/spring-integration-1.0.xsd
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/spring-integration-1.0.xsd
@@ -345,7 +345,14 @@
-
+
+
+
+ Specifies the maximum pool size in order to limit the number of concurrent tasks.
+ Otherwise, the default will be Integer.MAX_VALUE.
+
+
+