INT-1948 added support for 'cache-level' attribute to the namespace-based configuration of JMS Message Driven Channel adapter and JMS Inbound Gateway

This commit is contained in:
Oleg Zhurakousky
2011-07-06 20:40:03 -04:00
parent 661fbb6898
commit e62563bfec
4 changed files with 9 additions and 3 deletions

View File

@@ -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());
}

View File

@@ -416,6 +416,7 @@
</xsd:attribute>
<xsd:attribute name="concurrent-consumers" type="xsd:string"/>
<xsd:attribute name="max-concurrent-consumers" type="xsd:string"/>
<xsd:attribute name="cache-level" type="xsd:string"/>
<xsd:attribute name="max-messages-per-task" type="xsd:string"/>
<xsd:attribute name="receive-timeout" type="xsd:string"/>
<xsd:attribute name="recovery-interval" type="xsd:string"/>
@@ -614,6 +615,7 @@
</xsd:attribute>
<xsd:attribute name="concurrent-consumers" type="xsd:string"/>
<xsd:attribute name="max-concurrent-consumers" type="xsd:string"/>
<xsd:attribute name="cache-level" type="xsd:string"/>
<xsd:attribute name="max-messages-per-task" type="xsd:string"/>
<xsd:attribute name="receive-timeout" type="xsd:string"/>
<xsd:attribute name="recovery-interval" type="xsd:string"/>

View File

@@ -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();
}

View File

@@ -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">
<jms:message-driven-channel-adapter id="adapterWithReceiveTimeout"
connection-factory="testConnectionFactory"
@@ -32,7 +32,8 @@
connection-factory="testConnectionFactory"
destination-name="testQueue"
idle-consumer-limit="33"
auto-startup="false"/>
cache-level="3"
auto-startup="false" />
<bean id="testConnectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory">
<constructor-arg>