diff --git a/src/Spring/Spring.Messaging/Messaging/Listener/AbstractMessageListenerContainer.cs b/src/Spring/Spring.Messaging/Messaging/Listener/AbstractMessageListenerContainer.cs index a0e5dd21..e6774f29 100644 --- a/src/Spring/Spring.Messaging/Messaging/Listener/AbstractMessageListenerContainer.cs +++ b/src/Spring/Spring.Messaging/Messaging/Listener/AbstractMessageListenerContainer.cs @@ -234,6 +234,10 @@ namespace Spring.Messaging.Listener { lock (messageQueueMonitor) { + if (MessageQueue.EnableConnectionCache == true) + { + LOG.Info("Setting global property MessageQueue.EnableConnectionCache from true to value in order to dispose property of the queue handle"); + } MessageQueue.EnableConnectionCache = false; mq.Close(); mq.Dispose(); diff --git a/src/Spring/Spring.Messaging/Messaging/Listener/MessageListenerAdapter.cs b/src/Spring/Spring.Messaging/Messaging/Listener/MessageListenerAdapter.cs index 1057c647..684a8fdc 100644 --- a/src/Spring/Spring.Messaging/Messaging/Listener/MessageListenerAdapter.cs +++ b/src/Spring/Spring.Messaging/Messaging/Listener/MessageListenerAdapter.cs @@ -116,13 +116,18 @@ namespace Spring.Messaging.Listener #endregion + /// + /// Out-of-the-box value for the default listener method: "HandleMessage" + /// + public static readonly string ORIGINAL_DEFAULT_LISTENER_METHOD = "HandleMessage"; + #region Fields private IApplicationContext applicationContext; private object handlerObject; - private string defaultHandlerMethod = "HandleMessage"; + private string defaultHandlerMethod = ORIGINAL_DEFAULT_LISTENER_METHOD; private IExpression processingExpression; diff --git a/test/Spring/Spring.Messaging.Tests/Messaging/Listener/Adapter/MessageListenerAdapterTests.cs b/test/Spring/Spring.Messaging.Tests/Messaging/Listener/Adapter/MessageListenerAdapterTests.cs new file mode 100644 index 00000000..c2fb05df --- /dev/null +++ b/test/Spring/Spring.Messaging.Tests/Messaging/Listener/Adapter/MessageListenerAdapterTests.cs @@ -0,0 +1,54 @@ +#region License + +/* + * Copyright © 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#region Imports + +using System.Threading; +using NUnit.Framework; +using Spring.Messaging.Core; +using Spring.Testing.NUnit; + +#endregion + +namespace Spring.Messaging.Listener.Adapter +{ + /// + /// To properly test the MessageListnerAdapter one needs to use TypeMock as MessageQueue and Message are not + /// interface based. + /// + [TestFixture] + public class MessageListenerAdapterTests + { + [Test] + public void DefaultMessageHandlerMethodNameIsTheConstantDefault() + { + MessageListenerAdapter adapter = new MessageListenerAdapter(); + Assert.AreSame(MessageListenerAdapter.ORIGINAL_DEFAULT_LISTENER_METHOD, adapter.DefaultHandlerMethod); + } + + [Test] + public void WhenNoHandlerMethodIsSuppliedTheHandlerIsAssumedToBeTheMessageListenerAdapterItself() + { + MessageListenerAdapter adapter = new MessageListenerAdapter(); + Assert.AreSame(adapter, adapter.HandlerObject); + + } + } +} \ No newline at end of file diff --git a/test/Spring/Spring.Messaging.Tests/Spring.Messaging.Tests.2008.csproj b/test/Spring/Spring.Messaging.Tests/Spring.Messaging.Tests.2008.csproj index 3bc405ce..ebfa3edc 100644 --- a/test/Spring/Spring.Messaging.Tests/Spring.Messaging.Tests.2008.csproj +++ b/test/Spring/Spring.Messaging.Tests/Spring.Messaging.Tests.2008.csproj @@ -88,6 +88,7 @@ +