diff --git a/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/config/spring-integration-adapters-1.0.xsd b/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/config/spring-integration-adapters-1.0.xsd index 9dd0e2fb80..0ce24d1710 100644 --- a/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/config/spring-integration-adapters-1.0.xsd +++ b/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/config/spring-integration-adapters-1.0.xsd @@ -96,6 +96,10 @@ + + + + diff --git a/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/jms/JmsGateway.java b/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/jms/JmsGateway.java index 5faf15068a..9f1e511ef5 100644 --- a/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/jms/JmsGateway.java +++ b/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/jms/JmsGateway.java @@ -110,6 +110,22 @@ public class JmsGateway extends SimpleMessagingGateway implements Lifecycle, Dis this.expectReply = expectReply; } + public void setConcurrentConsumers(int concurrentConsumers) { + this.concurrentConsumers = concurrentConsumers; + } + + public void setMaxConcurrentConsumers(int maxConcurrentConsumers) { + this.maxConcurrentConsumers = maxConcurrentConsumers; + } + + public void setMaxMessagesPerTask(int maxMessagesPerTask) { + this.maxMessagesPerTask = maxMessagesPerTask; + } + + public void setIdleTaskExecutionLimit(int idleTaskExecutionLimit) { + this.idleTaskExecutionLimit = idleTaskExecutionLimit; + } + private void initialize() { if (this.container == null) { this.container = createDefaultContainer(); diff --git a/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/jms/config/JmsGatewayParser.java b/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/jms/config/JmsGatewayParser.java index 46284419bd..6efd6eaa2b 100644 --- a/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/jms/config/JmsGatewayParser.java +++ b/org.springframework.integration.adapter/src/main/java/org/springframework/integration/adapter/jms/config/JmsGatewayParser.java @@ -25,6 +25,7 @@ import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser; import org.springframework.beans.factory.xml.ParserContext; import org.springframework.integration.adapter.jms.JmsGateway; +import org.springframework.integration.config.IntegrationNamespaceUtils; import org.springframework.util.StringUtils; /** @@ -109,6 +110,10 @@ public class JmsGatewayParser extends AbstractSingleBeanDefinitionParser { if ("true".equals(element.getAttribute("expect-reply"))) { builder.addPropertyValue("expectReply", Boolean.TRUE); } + IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "concurrent-consumers"); + IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "max-concurrent-consumers"); + IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "max-messages-per-task"); + IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "idle-task-execution-limit"); } }