From 061ce2f05d7c768fbb40fe47945136805c6f3ce1 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Fri, 28 Jan 2011 10:43:52 -0500 Subject: [PATCH] INT-1768 added support for propagating AcknowledgeMode to JmsTemplate when explicitly set on JMS inbound-channel-adapter --- .../jms/config/JmsAdapterParserUtils.java | 7 ++++++- .../jms/config/spring-integration-jms-2.0.xsd | 2 +- .../config/JmsInboundChannelAdapterParserTests.java | 12 +++++++++++- .../jms/config/jmsInboundWithJmsTemplate.xml | 5 +++++ 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsAdapterParserUtils.java b/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsAdapterParserUtils.java index 344d10f9b1..e2f466ca42 100644 --- a/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsAdapterParserUtils.java +++ b/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsAdapterParserUtils.java @@ -57,7 +57,7 @@ abstract class JmsAdapterParserUtils { private static final String[] JMS_TEMPLATE_ATTRIBUTES = { "connection-factory", "message-converter", "destination-resolver", "pub-sub-domain", - "time-to-live", "priority", "delivery-persistent", "explicit-qos-enabled" + "time-to-live", "priority", "delivery-persistent", "explicit-qos-enabled", "acknowledge" }; @@ -123,6 +123,11 @@ abstract class JmsAdapterParserUtils { IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "priority"); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "delivery-persistent"); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "explicit-qos-enabled"); + Integer acknowledgeMode = parseAcknowledgeMode(element, parserContext); + if (acknowledgeMode != null){ + builder.addPropertyValue("sessionAcknowledgeMode", acknowledgeMode); + } + return builder.getBeanDefinition(); } diff --git a/spring-integration-jms/src/main/resources/org/springframework/integration/jms/config/spring-integration-jms-2.0.xsd b/spring-integration-jms/src/main/resources/org/springframework/integration/jms/config/spring-integration-jms-2.0.xsd index d8f547644d..aecb4abb50 100644 --- a/spring-integration-jms/src/main/resources/org/springframework/integration/jms/config/spring-integration-jms-2.0.xsd +++ b/spring-integration-jms/src/main/resources/org/springframework/integration/jms/config/spring-integration-jms-2.0.xsd @@ -872,7 +872,7 @@ - + + + + +