update Apache NMS libraries to svn revision 685750
This commit is contained in:
@@ -43,6 +43,8 @@ namespace Spring.Messaging.Nms.Connections
|
||||
|
||||
private TimeSpan timeToLive;
|
||||
|
||||
private TimeSpan requestTimeout;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="CachedMessageProducer"/> class.
|
||||
@@ -198,6 +200,17 @@ namespace Spring.Messaging.Nms.Connections
|
||||
set { timeToLive = value; }
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the request timeout for the message producer.
|
||||
/// </summary>
|
||||
/// <value>The request timeout.</value>
|
||||
public TimeSpan RequestTimeout
|
||||
{
|
||||
get { return requestTimeout; }
|
||||
set { requestTimeout = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the priority of messages sent with this producer.
|
||||
/// </summary>
|
||||
@@ -253,7 +266,7 @@ namespace Spring.Messaging.Nms.Connections
|
||||
/// <summary>
|
||||
/// Reset properties.
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
public void Close()
|
||||
{
|
||||
// It's a cached MessageProducer... reset properties only.
|
||||
if (originalDisableMessageID != null)
|
||||
@@ -268,6 +281,14 @@ namespace Spring.Messaging.Nms.Connections
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
target.Dispose();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Returns string indicated this is a wrapped MessageProducer
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using Apache.NMS;
|
||||
using Common.Logging;
|
||||
@@ -125,7 +126,7 @@ namespace Spring.Messaging.Nms.Connections
|
||||
/// Creates the producer, potentially returning a cached instance.
|
||||
/// </summary>
|
||||
/// <param name="destination">The destination.</param>
|
||||
/// <returns></returns>
|
||||
/// <returns>A message producer.</returns>
|
||||
public IMessageProducer CreateProducer(IDestination destination)
|
||||
{
|
||||
if (shouldCacheProducers)
|
||||
@@ -165,6 +166,19 @@ namespace Spring.Messaging.Nms.Connections
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Creates the producer given the destinaton and requst timeout, potentially returning a cached instance.
|
||||
/// </summary>
|
||||
/// <param name="destination">The destination.</param>
|
||||
/// <param name="requestTimeout">The request timeout.</param>
|
||||
/// <returns>The message producer</returns>
|
||||
public IMessageProducer CreateProducer(IDestination destination, TimeSpan requestTimeout)
|
||||
{
|
||||
LOG.Warn("RequestTimeout for Producers created from CachedSession not yet supported");
|
||||
return CreateProducer(destination, requestTimeout);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// If have not yet reached session cache size, cache the session, otherwise
|
||||
/// dispose of all cached message producers and close the session.
|
||||
@@ -256,46 +270,88 @@ namespace Spring.Messaging.Nms.Connections
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates the consumer.
|
||||
/// Creates the consumer, potentially returning a cached instance.
|
||||
/// </summary>
|
||||
/// <param name="destination">The destination.</param>
|
||||
/// <returns></returns>
|
||||
/// <returns>A message consumer</returns>
|
||||
public IMessageConsumer CreateConsumer(IDestination destination)
|
||||
{
|
||||
return CreateConsumer(destination, null, false, null);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Creates the consumer.
|
||||
/// Creates the consumer for the given destinaton and request timeout, potentially returning a cached instance.
|
||||
/// </summary>
|
||||
/// <param name="destination">The destination.</param>
|
||||
/// <param name="requestTimeout">The request timeout.</param>
|
||||
/// <returns>A message consumer</returns>
|
||||
public IMessageConsumer CreateConsumer(IDestination destination, TimeSpan requestTimeout)
|
||||
{
|
||||
LOG.Warn("RequestTimeout not yet supported in CachedSesion.");
|
||||
return CreateConsumer(destination, null, false, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates the consumer, potentially returning a cached instance.
|
||||
/// </summary>
|
||||
/// <param name="destination">The destination.</param>
|
||||
/// <param name="selector">The selector.</param>
|
||||
/// <returns></returns>
|
||||
/// <returns>A message consumer</returns>
|
||||
public IMessageConsumer CreateConsumer(IDestination destination, string selector)
|
||||
{
|
||||
return CreateConsumer(destination, selector, false, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates the consumer.
|
||||
/// Creates the consumer, potentially returning a cached instance.
|
||||
/// </summary>
|
||||
/// <param name="destination">The destination.</param>
|
||||
/// <param name="selector">The selector.</param>
|
||||
/// <param name="requestTimeout">The request timeout.</param>
|
||||
/// <returns>A message consumer.</returns>
|
||||
public IMessageConsumer CreateConsumer(IDestination destination, string selector, TimeSpan requestTimeout)
|
||||
{
|
||||
LOG.Warn("RequestTimeout not yet supported in CachedSesion.");
|
||||
return CreateConsumer(destination, selector, false, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates the consumer, potentially returning a cached instance.
|
||||
/// </summary>
|
||||
/// <param name="destination">The destination.</param>
|
||||
/// <param name="selector">The selector.</param>
|
||||
/// <param name="noLocal">if set to <c>true</c> [no local].</param>
|
||||
/// <returns></returns>
|
||||
/// <returns>A message consumer.</returns>
|
||||
public IMessageConsumer CreateConsumer(IDestination destination, string selector, bool noLocal)
|
||||
{
|
||||
return CreateConsumer(destination, selector, noLocal, null);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Creates the durable consumer.
|
||||
/// Creates the consumer, potentially returning a cached instance.
|
||||
/// </summary>
|
||||
/// <param name="destination">The destination.</param>
|
||||
/// <param name="selector">The selector.</param>
|
||||
/// <param name="noLocal">if set to <c>true</c> [no local].</param>
|
||||
/// <param name="requestTimeout">The request timeout.</param>
|
||||
/// <returns>A message consumer</returns>
|
||||
public IMessageConsumer CreateConsumer(IDestination destination, string selector, bool noLocal,
|
||||
TimeSpan requestTimeout)
|
||||
{
|
||||
LOG.Warn("RequestTimeout not yet supported in CachedSesion.");
|
||||
return CreateConsumer(destination, selector, noLocal, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates the durable consumer, potentially returning a cached instance.
|
||||
/// </summary>
|
||||
/// <param name="destination">The destination.</param>
|
||||
/// <param name="subscription">The name of the durable subscription.</param>
|
||||
/// <param name="selector">The selector.</param>
|
||||
/// <param name="noLocal">if set to <c>true</c> [no local].</param>
|
||||
/// <returns></returns>
|
||||
/// <returns>A message consumer</returns>
|
||||
public IMessageConsumer CreateDurableConsumer(ITopic destination, string subscription, string selector, bool noLocal)
|
||||
{
|
||||
this.transactionOpen = true;
|
||||
@@ -309,6 +365,43 @@ namespace Spring.Messaging.Nms.Connections
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Creates the durable consumer, potentially returning a cached instance.
|
||||
/// </summary>
|
||||
/// <param name="destination">The destination.</param>
|
||||
/// <param name="name">The name.</param>
|
||||
/// <param name="selector">The selector.</param>
|
||||
/// <param name="noLocal">if set to <c>true</c> [no local].</param>
|
||||
/// <param name="requestTimeout">The request timeout.</param>
|
||||
/// <returns>A message consumer</returns>
|
||||
public IMessageConsumer CreateDurableConsumer(ITopic destination, string name, string selector, bool noLocal,
|
||||
TimeSpan requestTimeout)
|
||||
{
|
||||
LOG.Warn("RequestTimeout not yet supported in CachedSesion.");
|
||||
return CreateDurableConsumer(destination, name, selector, noLocal);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Deletes the durable consumer.
|
||||
/// </summary>
|
||||
/// <param name="name">The name.</param>
|
||||
public void DeleteDurableConsumer(string name)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Deletes the durable consumer.
|
||||
/// </summary>
|
||||
/// <param name="name">The name.</param>
|
||||
/// <param name="requestTimeout">The request timeout.</param>
|
||||
public void DeleteDurableConsumer(string name, TimeSpan requestTimeout)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates the consumer.
|
||||
/// </summary>
|
||||
|
||||
@@ -252,6 +252,24 @@ namespace Spring.Messaging.Nms.Connections
|
||||
return session;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Template method for obtaining a (potentially cached) Session.
|
||||
/// </summary>
|
||||
/// <param name="con">The connection to operate on.</param>
|
||||
/// <param name="mode">The session ack mode.</param>
|
||||
/// <param name="requestTimeout">The request timeout.</param>
|
||||
/// <returns>
|
||||
/// the Session to use, or <code>null</code> to indicate
|
||||
/// creation of a raw standard Session
|
||||
/// </returns>
|
||||
public override ISession GetSession(IConnection con, AcknowledgementMode mode, TimeSpan requestTimeout)
|
||||
{
|
||||
ISession session = GetSession(con, mode);
|
||||
LOG.Warn("RequestTimeout parameter not yet supported in CachingConnectionFactory");
|
||||
return session;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Wraps the given Session so that it delegates every method call to the target session but
|
||||
/// adapts close calls. This is useful for allowing application code to
|
||||
|
||||
@@ -325,6 +325,21 @@ namespace Spring.Messaging.Nms.Connections
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Template method for obtaining a (potentially cached) Session.
|
||||
/// </summary>
|
||||
/// <param name="con">The connection to operate on.</param>
|
||||
/// <param name="mode">The session ack mode.</param>
|
||||
/// <param name="requestTimeout">The request timeout.</param>
|
||||
/// <returns>
|
||||
/// the Session to use, or <code>null</code> to indicate
|
||||
/// creation of a raw standard Session
|
||||
/// </returns>
|
||||
public virtual ISession GetSession(IConnection con, AcknowledgementMode mode, TimeSpan requestTimeout)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// reate a JMS Connection via this template's ConnectionFactory.
|
||||
/// </summary>
|
||||
@@ -489,6 +504,17 @@ namespace Spring.Messaging.Nms.Connections
|
||||
return target.CreateSession(acknowledgementMode);
|
||||
}
|
||||
|
||||
|
||||
public ISession CreateSession(AcknowledgementMode acknowledgementMode, TimeSpan requestTimeout)
|
||||
{
|
||||
ISession session = singleConnectionFactory.GetSession(target, acknowledgementMode, requestTimeout);
|
||||
if (session != null)
|
||||
{
|
||||
return session;
|
||||
}
|
||||
return target.CreateSession(acknowledgementMode, requestTimeout);
|
||||
}
|
||||
|
||||
#region Pass through implementations to the target connection
|
||||
|
||||
|
||||
|
||||
@@ -48,9 +48,9 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Messaging\Nms\SessionDelegate.cs" />
|
||||
<Compile Include="Messaging\Nms\Config\MessageListenerContainerObjectDefinitionParser.cs" />
|
||||
<Compile Include="Messaging\Nms\Config\NmsNamespaceParser.cs" />
|
||||
<Compile Include="Messaging\Nms\Connections\CachedMessageConsumer .cs" />
|
||||
<Compile Include="Messaging\Nms\Connections\CachedMessageProducer.cs" />
|
||||
<Compile Include="Messaging\Nms\Connections\CachedSession.cs" />
|
||||
<Compile Include="Messaging\Nms\Connections\CachingConnectionFactory.cs" />
|
||||
@@ -58,35 +58,39 @@
|
||||
<Compile Include="Messaging\Nms\Connections\ConnectionFactoryUtils.cs" />
|
||||
<Compile Include="Messaging\Nms\Connections\IDecoratorSession.cs" />
|
||||
<Compile Include="Messaging\Nms\Connections\ISmartConnectionFactory.cs" />
|
||||
<Compile Include="Messaging\Nms\Connections\MessageResourceHolder.cs" />
|
||||
<Compile Include="Messaging\Nms\Connections\MessageTransactionManager.cs" />
|
||||
<Compile Include="Messaging\Nms\Connections\NmsResourceHolder.cs" />
|
||||
<Compile Include="Messaging\Nms\Connections\NmsTransactionManager.cs" />
|
||||
<Compile Include="Messaging\Nms\Connections\SingleConnectionFactory.cs" />
|
||||
<Compile Include="Messaging\Nms\Connections\SynchedLocalTransactionFailedException.cs" />
|
||||
<Compile Include="Messaging\Nms\IExceptionListener.cs" />
|
||||
<Compile Include="Messaging\Nms\IMessageCreator.cs" />
|
||||
<Compile Include="Messaging\Nms\IMessageListener.cs" />
|
||||
<Compile Include="Messaging\Nms\IMessageOperations.cs" />
|
||||
<Compile Include="Messaging\Nms\IMessagePostProcessor.cs" />
|
||||
<Compile Include="Messaging\Nms\IProducerCallback.cs" />
|
||||
<Compile Include="Messaging\Nms\ISessionCallback.cs" />
|
||||
<Compile Include="Messaging\Nms\Core\IExceptionListener.cs" />
|
||||
<Compile Include="Messaging\Nms\Core\IMessageCreator.cs" />
|
||||
<Compile Include="Messaging\Nms\Core\IMessageListener.cs" />
|
||||
<Compile Include="Messaging\Nms\Core\IMessagePostProcessor.cs" />
|
||||
<Compile Include="Messaging\Nms\Core\INmsOperations.cs" />
|
||||
<Compile Include="Messaging\Nms\Core\IProducerCallback.cs" />
|
||||
<Compile Include="Messaging\Nms\Core\ISessionCallback.cs" />
|
||||
<Compile Include="Messaging\Nms\Core\MessageCreatorDelegate.cs" />
|
||||
<Compile Include="Messaging\Nms\Core\MessagePostProcessorDelegate.cs" />
|
||||
<Compile Include="Messaging\Nms\Core\NmsGatewaySupport.cs" />
|
||||
<Compile Include="Messaging\Nms\Core\NmsTemplate.cs" />
|
||||
<Compile Include="Messaging\Nms\Core\ProducerDelegate.cs" />
|
||||
<Compile Include="Messaging\Nms\Core\SessionDelegate.cs" />
|
||||
<Compile Include="Messaging\Nms\Listener\AbstractListenerContainer.cs" />
|
||||
<Compile Include="Messaging\Nms\Listener\AbstractMessageListenerContainer.cs" />
|
||||
<Compile Include="Messaging\Nms\Listener\Adapter\ListenerExecutionFailedException.cs" />
|
||||
<Compile Include="Messaging\Nms\Listener\Adapter\MessageListenerAdapter.cs" />
|
||||
<Compile Include="Messaging\Nms\Listener\ISessionAwareMessageListener.cs" />
|
||||
<Compile Include="Messaging\Nms\Listener\LocallyExposedMessageResourceHolder.cs" />
|
||||
<Compile Include="Messaging\Nms\Listener\LocallyExposedNmsResourceHolder.cs" />
|
||||
<Compile Include="Messaging\Nms\Listener\RecoveryTimeExceededException.cs" />
|
||||
<Compile Include="Messaging\Nms\Listener\SimpleMessageListenerContainer.cs" />
|
||||
<Compile Include="Messaging\Nms\MessageCreatorDelegate.cs" />
|
||||
<Compile Include="Messaging\Nms\MessageTemplate.cs" />
|
||||
<Compile Include="Messaging\Nms\MessagingGatewaySupport.cs" />
|
||||
<Compile Include="Messaging\Nms\Support\Converter\IMessageConverter.cs" />
|
||||
<Compile Include="Messaging\Nms\Support\Converter\MessageConversionException.cs" />
|
||||
<Compile Include="Messaging\Nms\Support\Converter\SimpleMessageConverter.cs" />
|
||||
<Compile Include="Messaging\Nms\Support\Destinations\DynamicDestinationResolver.cs" />
|
||||
<Compile Include="Messaging\Nms\Support\Destinations\IDestinationResolver.cs" />
|
||||
<Compile Include="Messaging\Nms\Support\Destinations\MessageDestinationAccessor.cs" />
|
||||
<Compile Include="Messaging\Nms\Support\MessageAccessor.cs" />
|
||||
<Compile Include="Messaging\Nms\Support\Destinations\NmsDestinationAccessor.cs" />
|
||||
<Compile Include="Messaging\Nms\Support\MessageUtils.cs" />
|
||||
<Compile Include="Messaging\Nms\Support\NmsAccessor.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Spring.Aop\Spring.Aop.2008.csproj">
|
||||
|
||||
@@ -33,6 +33,11 @@ namespace Spring.Messaging.Nms.Connections
|
||||
return new TestSession();
|
||||
}
|
||||
|
||||
public ISession CreateSession(AcknowledgementMode acknowledgementMode, TimeSpan requestTimeout)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public void Close()
|
||||
{
|
||||
closeCount++;
|
||||
|
||||
@@ -27,7 +27,8 @@ namespace Spring.Messaging.Nms.Connections
|
||||
public class TestMessageProducer : IMessageProducer
|
||||
{
|
||||
private bool persistent;
|
||||
private TimeSpan timeToLive = new TimeSpan(0,0,0,60,0);
|
||||
private TimeSpan timeToLive = new TimeSpan(0,0,0,60,0);
|
||||
private TimeSpan requestTimeout;
|
||||
|
||||
public void Send(IMessage message)
|
||||
{
|
||||
@@ -49,6 +50,11 @@ namespace Spring.Messaging.Nms.Connections
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public void Close()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public IMessage CreateMessage()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
@@ -96,6 +102,12 @@ namespace Spring.Messaging.Nms.Connections
|
||||
set { timeToLive = value; }
|
||||
}
|
||||
|
||||
public TimeSpan RequestTimeout
|
||||
{
|
||||
get { return requestTimeout; }
|
||||
set { requestTimeout = value; }
|
||||
}
|
||||
|
||||
public byte Priority
|
||||
{
|
||||
get { return 1; }
|
||||
|
||||
@@ -59,11 +59,21 @@ namespace Spring.Messaging.Nms.Connections
|
||||
return new TestMessageProducer();
|
||||
}
|
||||
|
||||
public IMessageProducer CreateProducer(IDestination destination, TimeSpan requestTimeout)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public IMessageConsumer CreateConsumer(IDestination destination)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public IMessageConsumer CreateConsumer(IDestination destination, TimeSpan requestTimeout)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public IMessageConsumer CreateConsumer(IDestination destination, string selector)
|
||||
{
|
||||
//IConnectionFactory connectionFactory = (IConnectionFactory)mocks.CreateMock(typeof(IConnectionFactory));
|
||||
@@ -71,16 +81,43 @@ namespace Spring.Messaging.Nms.Connections
|
||||
return msgConsumer;
|
||||
}
|
||||
|
||||
public IMessageConsumer CreateConsumer(IDestination destination, string selector, TimeSpan requestTimeout)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public IMessageConsumer CreateConsumer(IDestination destination, string selector, bool noLocal)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public IMessageConsumer CreateConsumer(IDestination destination, string selector, bool noLocal,
|
||||
TimeSpan requestTimeout)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public IMessageConsumer CreateDurableConsumer(ITopic destination, string name, string selector, bool noLocal)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public IMessageConsumer CreateDurableConsumer(ITopic destination, string name, string selector, bool noLocal,
|
||||
TimeSpan requestTimeout)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public void DeleteDurableConsumer(string name)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public void DeleteDurableConsumer(string name, TimeSpan requestTimeout)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public IQueue GetQueue(string name)
|
||||
{
|
||||
return new ActiveMQQueue(name);
|
||||
|
||||
Reference in New Issue
Block a user