SPRNET-1306 - Exception parsing concurrency attribute in ems listener-container config

This commit is contained in:
markpollack
2010-08-03 17:10:50 +00:00
parent bf3407d201
commit 904167ec0f
6 changed files with 32 additions and 13 deletions

View File

@@ -293,7 +293,7 @@ namespace Spring.Messaging.Ems.Config
string concurrency = ParseConcurrency(containerElement, parserContext);
if (concurrency != null)
{
containerDef.AddPropertyValue("ConcurrentConsumers", concurrency[1]);
containerDef.AddPropertyValue("ConcurrentConsumers", concurrency);
}
containerDef.AddPropertyValue("RecoveryInterval", ParseRecoveryInterval(containerElement, parserContext));

View File

@@ -105,7 +105,11 @@ namespace Spring.Messaging.Ems.Listener
set
{
AssertUtils.IsTrue(value > 0, "'ConcurrentConsumer' value must be at least 1 (one)");
concurrentConsumers = value;
concurrentConsumers = value;
}
get
{
return concurrentConsumers;
}
}

View File

@@ -90,6 +90,7 @@ namespace Spring.Messaging.Ems.Config
else if (container.ConnectionFactory.Equals(explicitConnectionFactory))
{
explicitConnectionFactoryCount++;
Assert.AreEqual(4, container.ConcurrentConsumers);
}
}

View File

@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:nms="http://www.springframework.net/ems">
xmlns:ems="http://www.springframework.net/ems">
<nms:listener-container connection-factory="testConnectionFactory"
<ems:listener-container connection-factory="testConnectionFactory"
destination-resolver="testDestinationResolver" message-converter="testMessageConverter"
auto-startup="false" concurrency="${concurrency}">
<nms:listener id="listener1" destination="testDestination" ref="testObject1" method="SetName"/>
<nms:listener id="listener2" destination="testDestination" ref="testObject2" method="SetName"
<ems:listener id="listener1" destination="testDestination" ref="testObject1" method="SetName"/>
<ems:listener id="listener2" destination="testDestination" ref="testObject2" method="SetName"
response-destination="responseDestination"/>
</nms:listener-container>
</ems:listener-container>
<nms:listener-container auto-startup="false">
<nms:listener destination="testDestination" ref="testObject3"/>
</nms:listener-container>
<ems:listener-container auto-startup="false">
<ems:listener destination="testDestination" ref="testObject3"/>
</ems:listener-container>
<!-- the default ConnectionFactory -->
@@ -44,7 +44,7 @@
<property name="VariableSources">
<list>
<object type="Spring.Objects.Factory.Config.ConfigSectionVariableSource, Spring.Core">
<property name="SectionNames" value="NmsConfiguration" />
<property name="SectionNames" value="EmsConfiguration" />
</object>
</list>
</property>

View File

@@ -93,7 +93,9 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="Spring.Messaging.Ems.Integration.Tests.dll.config" />
<None Include="Spring.Messaging.Ems.Integration.Tests.dll.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Messaging\Ems\Core\EmsTemplateTests.xml" />

View File

@@ -1,14 +1,26 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="EmsConfiguration" type="System.Configuration.NameValueSectionHandler"/>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<!--
<connectionStrings>
<add name="TestConnectionString"
connectionString="TestConnectionString-TestConnectionString" />
</connectionStrings>
-->
<EmsConfiguration>
<add key="concurrency" value="4"/>
</EmsConfiguration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
applies-to="v1.1.4322">