From e62563bfec9aa985bc8e5b2294f759ed9c0ef4c2 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Wed, 6 Jul 2011 20:40:03 -0400 Subject: [PATCH] INT-1948 added support for 'cache-level' attribute to the namespace-based configuration of JMS Message Driven Channel adapter and JMS Inbound Gateway --- .../jms/config/JmsMessageDrivenEndpointParser.java | 4 +++- .../integration/jms/config/spring-integration-jms-2.0.xsd | 2 ++ .../config/JmsMessageDrivenChannelAdapterParserTests.java | 1 + .../jms/config/jmsInboundWithContainerSettings.xml | 5 +++-- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsMessageDrivenEndpointParser.java b/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsMessageDrivenEndpointParser.java index ef3916598c..adf904519f 100644 --- a/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsMessageDrivenEndpointParser.java +++ b/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsMessageDrivenEndpointParser.java @@ -58,7 +58,8 @@ public class JmsMessageDrivenEndpointParser extends AbstractSingleBeanDefinition "concurrent-consumers", "max-concurrent-consumers", "max-messages-per-task", "selector", "receive-timeout", "recovery-interval", - "idle-consumer-limit", "idle-task-execution-limit" + "idle-consumer-limit", "idle-task-execution-limit", + "cache-level" }; @@ -147,6 +148,7 @@ public class JmsMessageDrivenEndpointParser extends AbstractSingleBeanDefinition IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "recovery-interval"); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "idle-consumer-limit"); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "idle-task-execution-limit"); + IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "cache-level"); builder.addPropertyValue("autoStartup", false); return BeanDefinitionReaderUtils.registerWithGeneratedName(builder.getBeanDefinition(), parserContext.getRegistry()); } 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 519217b928..a96cf536e7 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 @@ -416,6 +416,7 @@ + @@ -614,6 +615,7 @@ + diff --git a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsMessageDrivenChannelAdapterParserTests.java b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsMessageDrivenChannelAdapterParserTests.java index 3059a11aad..d8c97036f9 100644 --- a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsMessageDrivenChannelAdapterParserTests.java +++ b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsMessageDrivenChannelAdapterParserTests.java @@ -111,6 +111,7 @@ public class JmsMessageDrivenChannelAdapterParserTests { AbstractMessageListenerContainer container = (AbstractMessageListenerContainer) new DirectFieldAccessor(gateway).getPropertyValue("listenerContainer"); assertEquals(33, new DirectFieldAccessor(container).getPropertyValue("idleConsumerLimit")); + assertEquals(3, new DirectFieldAccessor(container).getPropertyValue("cacheLevel")); gateway.stop(); } diff --git a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/jmsInboundWithContainerSettings.xml b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/jmsInboundWithContainerSettings.xml index 7c119b409b..d015769cc6 100644 --- a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/jmsInboundWithContainerSettings.xml +++ b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/jmsInboundWithContainerSettings.xml @@ -8,7 +8,7 @@ http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd http://www.springframework.org/schema/integration/jms - http://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd"> + http://www.springframework.org/schema/integration/jms/spring-integration-jms-2.0.xsd"> + cache-level="3" + auto-startup="false" />