2686 lines
155 KiB
XML
2686 lines
155 KiB
XML
<?xml version="1.0"?>
|
|
<doc>
|
|
<assembly>
|
|
<name>Spring.Messaging</name>
|
|
</assembly>
|
|
<members>
|
|
<member name="T:Spring.Messaging.Core.DefaultMessageQueueFactory">
|
|
<summary>
|
|
A <see cref="T:Spring.Messaging.Core.IMessageQueueFactory"/> implementation that caches MessageQueue and IMessageConverter
|
|
instances. The MessageQueue objects are created by retrieving them by-name from the
|
|
ApplicationContext.
|
|
</summary>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Core.IMessageQueueFactory">
|
|
<summary>
|
|
An interface for creating MessageQueue and IMessageConverter objects from object definitions
|
|
defined in the application context.
|
|
</summary>
|
|
<remarks>
|
|
MessageQueue and IMessageConverter objects have methods that are generally not thread safe,
|
|
(IMessageConverter classes rely on IMessageFormatter objects that are not thread safe).
|
|
As such, a major reason to for this interface is to provide thread-local instances such that
|
|
appliation code need not be concerned with these resource management issues.
|
|
</remarks>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueFactory.RegisterMessageQueue(System.String,Spring.Messaging.Support.MessageQueueCreatorDelegate)">
|
|
<summary>
|
|
Registers the message queue, its creation specified via the factory method
|
|
MessageQueueCreatorDelegate, with the provided name in the application context
|
|
</summary>
|
|
<param name="messageQueueObjectName">Name of the message queue object.</param>
|
|
<param name="messageQueueCreatorDelegate">The message queue creator delegate.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueFactory.CreateMessageQueue(System.String)">
|
|
<summary>
|
|
Creates the message queue given its name in the application context.
|
|
</summary>
|
|
<param name="messageQueueObjectName">Name of the message queue object.</param>
|
|
<returns>A MessageQueue instance configured via the application context</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueFactory.ContainsMessageQueue(System.String)">
|
|
<summary>
|
|
Determines whether the application context contains the message queue object definition.
|
|
</summary>
|
|
<param name="messageQueueObjectName">Name of the message queue object.</param>
|
|
<returns>
|
|
<c>true</c> if the application context contains the specified message queue object name; otherwise, <c>false</c>.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueFactory.RegisterMessageConverter(System.String,Spring.Messaging.Support.Converters.MessageConverterCreatorDelegate)">
|
|
<summary>
|
|
Registers the message converter, its creation specified via the factory method
|
|
MessageConverterCreatorDelegate, with the provided name in the application context.
|
|
</summary>
|
|
<param name="messageConverterName">Name of the message converter.</param>
|
|
<param name="MessageConverterCreatorDelegate">The message converter creator delegate.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueFactory.CreateMessageConverter(System.String)">
|
|
<summary>
|
|
Creates the message converter given its name in the application context.
|
|
</summary>
|
|
<param name="messageConverterObjectName">Name of the message converter object.</param>
|
|
<returns>A IMessageConverter instance configured via the application context</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueFactory.ContainsMessageConverter(System.String)">
|
|
<summary>
|
|
Determines whether the application context contains the message queue object definition.
|
|
</summary>
|
|
<param name="messageConverterObjectName">Name of the message converter object.</param>
|
|
<returns>
|
|
<c>true</c> if the application context contains the specified message message converter object name; otherwise, <c>false</c>.
|
|
</returns>
|
|
</member>
|
|
<member name="F:Spring.Messaging.Core.DefaultMessageQueueFactory.log">
|
|
<summary>
|
|
The <see cref="T:Common.Logging.ILog"/> instance for this class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.DefaultMessageQueueFactory.RegisterMessageQueue(System.String,Spring.Messaging.Support.MessageQueueCreatorDelegate)">
|
|
<summary>
|
|
Registers the message queue, its creation specified via the factory method
|
|
MessageQueueCreatorDelegate, with the provided name in the application context
|
|
</summary>
|
|
<param name="messageQueueObjectName">Name of the message queue object.</param>
|
|
<param name="messageQueueCreatorDelegate">The message queue creator delegate.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.DefaultMessageQueueFactory.CreateMessageQueue(System.String)">
|
|
<summary>
|
|
Creates the message queue given its name in the application context.
|
|
</summary>
|
|
<param name="messageQueueObjectName">Name of the message queue object.</param>
|
|
<returns>
|
|
A MessageQueue instance configured via the application context
|
|
</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.DefaultMessageQueueFactory.ContainsMessageQueue(System.String)">
|
|
<summary>
|
|
Determines whether the application context contains the message queue object definition.
|
|
</summary>
|
|
<param name="messageQueueObjectName">Name of the message queue object.</param>
|
|
<returns>
|
|
<c>true</c> if the application context contains the specified message queue object name; otherwise, <c>false</c>.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.DefaultMessageQueueFactory.RegisterMessageConverter(System.String,Spring.Messaging.Support.Converters.MessageConverterCreatorDelegate)">
|
|
<summary>
|
|
Registers the message converter.
|
|
</summary>
|
|
<param name="messageConverterName">Name of the message converter.</param>
|
|
<param name="messageConverterCreatorDelegate">The message converter creator delegate.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.DefaultMessageQueueFactory.CreateMessageConverter(System.String)">
|
|
<summary>
|
|
Creates the message converter given its name in the application context.
|
|
</summary>
|
|
<param name="messageConverterObjectName">Name of the message converter object.</param>
|
|
<returns>
|
|
A IMessageConverter instance configured via the application context
|
|
</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.DefaultMessageQueueFactory.ContainsMessageConverter(System.String)">
|
|
<summary>
|
|
Determines whether the application context contains the message queue object definition.
|
|
</summary>
|
|
<param name="messageConverterObjectName">Name of the message converter object.</param>
|
|
<returns>
|
|
<c>true</c> if the application context contains the specified message message converter object name; otherwise, <c>false</c>.
|
|
</returns>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.DefaultMessageQueueFactory.ApplicationContext">
|
|
<summary>
|
|
Gets or sets the <see cref="T:Spring.Context.IApplicationContext"/> that this
|
|
object runs in.
|
|
</summary>
|
|
<remarks>
|
|
<p>
|
|
Normally this call will be used to initialize the object.
|
|
</p>
|
|
<p>
|
|
Invoked after population of normal object properties but before an
|
|
init callback such as
|
|
<see cref="T:Spring.Objects.Factory.IInitializingObject"/>'s
|
|
<see cref="M:Spring.Objects.Factory.IInitializingObject.AfterPropertiesSet"/>
|
|
or a custom init-method. Invoked after the setting of any
|
|
<see cref="T:Spring.Context.IResourceLoaderAware"/>'s
|
|
<see cref="P:Spring.Context.IResourceLoaderAware.ResourceLoader"/>
|
|
property.
|
|
</p>
|
|
</remarks>
|
|
<exception cref="T:Spring.Context.ApplicationContextException">
|
|
In the case of application context initialization errors.
|
|
</exception>
|
|
<exception cref="T:Spring.Objects.ObjectsException">
|
|
If thrown by any application context methods.
|
|
</exception>
|
|
<exception cref="T:Spring.Objects.Factory.ObjectInitializationException"/>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Core.IMessageQueueOperations">
|
|
<summary>
|
|
Specifies a basic set of helper MSMQ opertions.
|
|
</summary>
|
|
<remarks>
|
|
<para>Implemented by <see cref="T:Spring.Messaging.Core.MessageQueueTemplate"/>. Not often used but a useful option
|
|
to enhance testability, as it can easily be mocked or stubbed.
|
|
</para>
|
|
<para>
|
|
Provides <code>MessageQueueTemplate's</code> <code>
|
|
Send(..)</code> and <code>receive(..)</code> methods that mirror various MSMQ MessageQueue
|
|
API methods.
|
|
</para>
|
|
</remarks>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueOperations.ConvertAndSend(System.Object)">
|
|
<summary>
|
|
Send the given object to the default destination, converting the object
|
|
to a MSMQ message with a configured IMessageConverter.
|
|
</summary>
|
|
<remarks>This will only work with a default destination queue specified!</remarks>
|
|
<param name="obj">The obj.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueOperations.ConvertAndSend(System.Object,Spring.Messaging.Core.MessagePostProcessorDelegate)">
|
|
<summary> Send the given object to the default destination, converting the object
|
|
to a MSMQ message with a configured IMessageConverter. The IMessagePostProcessor
|
|
callback allows for modification of the message after conversion.
|
|
<p>This will only work with a default destination specified!</p>
|
|
</summary>
|
|
<param name="obj">the object to convert to a message
|
|
</param>
|
|
<param name="messagePostProcessorDelegate">the callback to modify the message
|
|
</param>
|
|
<exception cref="T:Spring.Messaging.MessagingException">if thrown by MSMQ API methods</exception>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueOperations.ConvertAndSend(System.String,System.Object)">
|
|
<summary> Send the given object to the specified destination, converting the object
|
|
to a MSMQ message with a configured <see cref="T:Spring.Messaging.Support.Converters.IMessageConverter"/> and resolving the
|
|
destination name to a <see cref="T:System.Messaging.MessageQueue"/> using a <see cref="T:Spring.Messaging.Core.IMessageQueueFactory"/>
|
|
</summary>
|
|
<param name="messageQueueObjectName">the name of the destination queue
|
|
to send this message to (to be resolved to an actual MessageQueue
|
|
by a IMessageQueueFactory)
|
|
</param>
|
|
<param name="obj">the object to convert to a message
|
|
</param>
|
|
<throws>NMSException if there is any problem</throws>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueOperations.ConvertAndSend(System.String,System.Object,Spring.Messaging.Core.MessagePostProcessorDelegate)">
|
|
<summary> Send the given object to the specified destination, converting the object
|
|
to a MSMQ message with a configured <see cref="T:Spring.Messaging.Support.Converters.IMessageConverter"/> and resolving the
|
|
destination name to a <see cref="T:System.Messaging.MessageQueue"/> with an <see cref="T:Spring.Messaging.Core.IMessageQueueFactory"/>
|
|
The <see cref="T:Spring.Messaging.Core.MessagePostProcessorDelegate"/> callback allows for modification of the message after conversion.
|
|
</summary>
|
|
<param name="messageQueueObjectName">the name of the destination queue
|
|
to send this message to (to be resolved to an actual MessageQueue
|
|
by a IMessageQueueFactory)
|
|
</param>
|
|
<param name="obj">the object to convert to a message
|
|
</param>
|
|
<param name="messagePostProcessorDelegate">the callback to modify the message
|
|
</param>
|
|
<exception cref="T:Spring.Messaging.MessagingException">if thrown by MSMQ API methods</exception>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueOperations.ReceiveAndConvert">
|
|
<summary>
|
|
Receive and convert a message synchronously from the default message queue.
|
|
</summary>
|
|
<returns>The converted object</returns>
|
|
<exception cref="T:System.Messaging.MessageQueueException">if thrown by MSMQ API methods. Note an
|
|
exception will be thrown if the timeout of the syncrhonous recieve operation expires.
|
|
</exception>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueOperations.ReceiveAndConvert(System.String)">
|
|
<summary>
|
|
Receives and convert a message synchronously from the specified message queue.
|
|
</summary>
|
|
<param name="messageQueueObjectName">Name of the message queue object.</param>
|
|
<returns>the converted object</returns>
|
|
<exception cref="T:System.Messaging.MessageQueueException">if thrown by MSMQ API methods. Note an
|
|
exception will be thrown if the timeout of the syncrhonous recieve operation expires.
|
|
</exception>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueOperations.Receive">
|
|
<summary>
|
|
Receives a message on the default message queue using the transactional settings as dicted by MessageQueue's Transactional property and
|
|
the current Spring managed ambient transaction.
|
|
</summary>
|
|
<returns>A message.</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueOperations.Receive(System.String)">
|
|
<summary>
|
|
Receives a message on the specified queue using the transactional settings as dicted by MessageQueue's Transactional property and
|
|
the current Spring managed ambient transaction.
|
|
</summary>
|
|
<param name="messageQueueObjectName">Name of the message queue object.</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueOperations.Send(System.Messaging.Message)">
|
|
<summary>
|
|
Sends the specified message to the default message queue using the
|
|
transactional settings as dicted by MessageQueue's Transactional property and
|
|
the current Spring managed ambient transaction.
|
|
</summary>
|
|
<param name="message">The message to send</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueOperations.Send(System.String,System.Messaging.Message)">
|
|
<summary>
|
|
Sends the specified message to the message queue using the
|
|
transactional settings as dicted by MessageQueue's Transactional property and
|
|
the current Spring managed ambient transaction.
|
|
</summary>
|
|
<param name="messageQueueObjectName">Name of the message queue object.</param>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.IMessageQueueOperations.Send(System.Messaging.MessageQueue,System.Messaging.Message)">
|
|
<summary>
|
|
Sends the specified message on the provided MessageQueue using the
|
|
transactional settings as dicted by MessageQueue's Transactional property and
|
|
the current Spring managed ambient transaction.
|
|
</summary>
|
|
<para>
|
|
Note that it is the callers responsibility to ensure that the MessageQueue instance
|
|
passed into this not being access simultaneously by other threads.
|
|
</para>
|
|
<remarks>A transactional send (either local or DTC transaction) will be
|
|
attempted for a transacitonal queue, falling back to a single-transaction send
|
|
to a transactional queue if there is not ambient Spring managed transaction.</remarks>
|
|
<param name="messageQueue">The DefaultMessageQueue to send a message to.</param>
|
|
<param name="message">The message to send</param>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Core.LocallyExposedMessageQueueResourceHolder">
|
|
<summary>
|
|
MessageQueueResourceHolder marker subclass that indicates local exposure,
|
|
i.e. that does not indicate an externally managed transaction.
|
|
</summary>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Core.MessageQueueResourceHolder">
|
|
<summary>
|
|
MessageQueue resource holder, wrapping a MessageQueueTransaction.
|
|
MessageQueueTransactionManager binds instances of this class to the thread.
|
|
</summary>
|
|
<remarks>
|
|
This is an SPI class, not intended to be used by applications.
|
|
</remarks>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueResourceHolder.#ctor(System.Messaging.MessageQueueTransaction)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:Spring.Messaging.Core.MessageQueueResourceHolder"/> class.
|
|
</summary>
|
|
<param name="messageQueueTransaction">The message queue transaction.</param>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.MessageQueueResourceHolder.MessageQueueTransaction">
|
|
<summary>
|
|
Gets or sets the message queue transaction.
|
|
</summary>
|
|
<value>The message queue transaction.</value>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.LocallyExposedMessageQueueResourceHolder.#ctor(System.Messaging.MessageQueueTransaction)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:Spring.Messaging.Core.LocallyExposedMessageQueueResourceHolder"/> class.
|
|
</summary>
|
|
<param name="messageQueueTransaction">The message queue transaction.</param>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Core.MessagePostProcessorDelegate">
|
|
<summary>
|
|
To be used with MessageQueueTemplate's send method that
|
|
convert an object to a message.
|
|
</summary>
|
|
<remarks>
|
|
It allows for further modification of the message after it has been processed
|
|
by the converter. This is useful for setting of Message properties (e.g.
|
|
CorrelationId, AppSpecific, TimeToReachQueue).
|
|
</remarks>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Core.MessageQueueGatewaySupport">
|
|
<summary>
|
|
Convenient super class for application classes that need MSMQ access.
|
|
</summary>
|
|
<remarks>
|
|
Override the InitGateway method to perform custom startup tasks.
|
|
</remarks>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueGatewaySupport.InitGateway">
|
|
<summary>
|
|
Subclasses can override this for custom initialization behavior.
|
|
Gets called after population of this instance's properties.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.MessageQueueGatewaySupport.MessageQueueTemplate">
|
|
<summary>
|
|
Gets or sets the message queue template. <see cref="F:Spring.Messaging.Core.MessageQueueGatewaySupport.messageQueueTemplate"/>.
|
|
</summary>
|
|
<value>The message queue template.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.MessageQueueGatewaySupport.MessageQueueFactory">
|
|
<summary>
|
|
Gets the message queue factory, a convenience method.
|
|
</summary>
|
|
<value>The message queue factory.</value>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Core.MessageQueueMetadata">
|
|
<summary>
|
|
Encapsulates additional metadata information about the MessageQueue that can not be easily obtained
|
|
from the MessageQueue itself.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueMetadata.#ctor(System.Boolean,System.Boolean)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:Spring.Messaging.Core.MessageQueueMetadata"/> class.
|
|
</summary>
|
|
<param name="remoteQueue">if set to <c>true</c> [remote queue].</param>
|
|
<param name="remoteQueueIsTransactional">if set to <c>true</c> [remote queue is transactional].</param>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.MessageQueueMetadata.RemoteQueue">
|
|
<summary>
|
|
Gets or sets a value indicating whether the queue is a remote queue.
|
|
</summary>
|
|
<remarks>
|
|
The operations that one can perform on the MessageQueue depend on if it is local or remote, for
|
|
example checking if it is transactional. This is very difficult to determine programmatically.
|
|
The property was made virtual so it can be overridden to take into account custom heuristics you
|
|
may want to use to determine this programmatically.
|
|
</remarks>
|
|
<value><c>true</c> if remote queue; otherwise, <c>false</c>.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.MessageQueueMetadata.RemoteQueueIsTransactional">
|
|
<summary>
|
|
Gets or sets a value indicating whether the remote queue is transactional.
|
|
</summary>
|
|
<value>
|
|
<c>true</c> if the remote queue is transactional; otherwise, <c>false</c>.
|
|
</value>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueMetadataCache.Get(System.String)">
|
|
<summary>
|
|
Retrieves MessageQueueMetadata from the cache.
|
|
</summary>
|
|
<param name="queuePath">The queue path.</param>
|
|
<returns>
|
|
Item for the specified <paramref name="queuePath"/>, or <c>null</c>.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueMetadataCache.Remove(System.String)">
|
|
<summary>
|
|
Removes the specified queue path from the cache
|
|
</summary>
|
|
<param name="queuePath">The queue path.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueMetadataCache.RemoveAll(System.String[])">
|
|
<summary>
|
|
Removes collection of MessageQueueMetaCache from the cache.
|
|
</summary>
|
|
<param name="queuePaths">
|
|
Array of MessageQueue paths to remove.
|
|
</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueMetadataCache.Clear">
|
|
<summary>
|
|
Removes all MessageQueueMetadata from the cache.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.MessageQueueMetadataCache.Count">
|
|
<summary>
|
|
Gets the number of items in the cache.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.MessageQueueMetadataCache.Paths">
|
|
<summary>
|
|
Gets a collection of all cache queue paths.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Core.MessageQueueTemplate">
|
|
<summary>
|
|
Helper class that simplifies MSMQ access code.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
Using the System.Messaging.MessageQueue class directly in application code has a number of
|
|
shortcomings, namely that most operations are not thread safe (in particular Send) and
|
|
IMessageFormatter classes are not thread safe either.
|
|
</para>
|
|
<para>
|
|
The MessageQueueTemplate class overcomes these limitations letting you use a single instance
|
|
of MessageQueueTemplate across multiple threads to perform standard MessageQueue opertations.
|
|
Classes that are not thread safe are obtained and cached in thread local storage via an
|
|
implementation of the <see cref="T:Spring.Messaging.Core.IMessageQueueFactory"/> interface, specifically
|
|
<see cref="T:Spring.Messaging.Core.DefaultMessageQueueFactory"/>.
|
|
</para>
|
|
<para>
|
|
You can access the thread local instance of the MessageQueue associated with this template
|
|
via the Property DefaultMessageQueue.
|
|
</para>
|
|
<para>
|
|
The template's Send methods will select an appropriate transaction delivery settings so
|
|
calling code does not need to explicitly manage this responsibility themselves and thus
|
|
allowing for greater portability of code across different, but common, transactional usage scenarios.
|
|
</para>
|
|
<para>A transactional send (either local or DTC transaction) will be
|
|
attempted for a transacitonal queue, falling back to a single-transaction send
|
|
to a transactional queue if there is not ambient Spring managed transaction.
|
|
</para>
|
|
<para>The overloaded ConvertAndSend and ReceiveAndConvert methods inherit the transactional
|
|
semantics of the previously described Send method but more importantly, they help to ensure
|
|
that thread safe access to <see cref="T:System.Messaging.IMessageFormatter"/> instances are
|
|
used as well as providing additional central location to put programmic logic that translates
|
|
between the MSMQ Message object and the your business objects. This for example is useful if you
|
|
need to perform additional translation operations after calling a IMessageFormatter instance or
|
|
want to directly extract and process the Message body contents.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:Spring.Messaging.Core.MessageQueueTemplate"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:Spring.Messaging.Core.MessageQueueTemplate"/> class.
|
|
</summary>
|
|
<param name="messageQueueName">Name of the message queue as registered in the Spring container.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.AfterPropertiesSet">
|
|
<summary>
|
|
Invoked by an <see cref="T:Spring.Objects.Factory.IObjectFactory"/>
|
|
after it has injected all of an object's dependencies.
|
|
</summary>
|
|
<remarks>
|
|
Ensure that the DefaultMessageQueueObjectName property is set, creates
|
|
a default implementation of the <see cref="T:Spring.Messaging.Core.IMessageQueueFactory"/> interface
|
|
(<see cref="T:Spring.Messaging.Core.DefaultMessageQueueFactory"/>) that retrieves instances on a per-thread
|
|
basis, and registers in the Spring container a default implementation of
|
|
<see cref="T:Spring.Messaging.Support.Converters.IMessageConverter"/> (<see cref="T:Spring.Messaging.Support.Converters.XmlMessageConverter"/>) with a
|
|
simple System.String as its TargetType. <see cref="M:Spring.Messaging.Core.QueueUtils.RegisterDefaultMessageConverter(Spring.Context.IApplicationContext)"/>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.ConvertAndSend(System.Object)">
|
|
<summary>
|
|
Send the given object to the default destination, converting the object
|
|
to a MSMQ message with a configured IMessageConverter.
|
|
</summary>
|
|
<param name="obj">The obj.</param>
|
|
<remarks>This will only work with a default destination queue specified!</remarks>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.ConvertAndSend(System.Object,Spring.Messaging.Core.MessagePostProcessorDelegate)">
|
|
<summary>
|
|
Send the given object to the default destination, converting the object
|
|
to a MSMQ message with a configured IMessageConverter. The IMessagePostProcessor
|
|
callback allows for modification of the message after conversion.
|
|
<p>This will only work with a default destination specified!</p>
|
|
</summary>
|
|
<param name="obj">the object to convert to a message</param>
|
|
<param name="messagePostProcessorDelegate">the callback to modify the message</param>
|
|
<exception cref="T:Spring.Messaging.MessagingException">if thrown by MSMQ API methods</exception>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.ConvertAndSend(System.String,System.Object)">
|
|
<summary>
|
|
Send the given object to the specified destination, converting the object
|
|
to a MSMQ message with a configured <see cref="T:Spring.Messaging.Support.Converters.IMessageConverter"/> and resolving the
|
|
destination name to a <see cref="T:System.Messaging.MessageQueue"/> using a <see cref="T:Spring.Messaging.Core.IMessageQueueFactory"/>
|
|
</summary>
|
|
<param name="messageQueueObjectName">the name of the destination queue
|
|
to send this message to (to be resolved to an actual MessageQueue
|
|
by a IMessageQueueFactory)</param>
|
|
<param name="obj">the object to convert to a message</param>
|
|
<throws>NMSException if there is any problem</throws>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.ConvertAndSend(System.String,System.Object,Spring.Messaging.Core.MessagePostProcessorDelegate)">
|
|
<summary>
|
|
Send the given object to the specified destination, converting the object
|
|
to a MSMQ message with a configured <see cref="T:Spring.Messaging.Support.Converters.IMessageConverter"/> and resolving the
|
|
destination name to a <see cref="T:System.Messaging.MessageQueue"/> with an <see cref="T:Spring.Messaging.Core.IMessageQueueFactory"/>
|
|
The <see cref="T:Spring.Messaging.Core.MessagePostProcessorDelegate"/> callback allows for modification of the message after conversion.
|
|
</summary>
|
|
<param name="messageQueueObjectName">the name of the destination queue
|
|
to send this message to (to be resolved to an actual MessageQueue
|
|
by a IMessageQueueFactory)</param>
|
|
<param name="obj">the object to convert to a message</param>
|
|
<param name="messagePostProcessorDelegate">the callback to modify the message</param>
|
|
<exception cref="T:Spring.Messaging.MessagingException">if thrown by MSMQ API methods</exception>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.ReceiveAndConvert">
|
|
<summary>
|
|
Receive and convert a message synchronously from the default message queue.
|
|
</summary>
|
|
<returns>The converted object</returns>
|
|
<exception cref="T:System.Messaging.MessageQueueException">if thrown by MSMQ API methods. Note an
|
|
exception will be thrown if the timeout of the syncrhonous recieve operation expires.
|
|
</exception>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.ReceiveAndConvert(System.String)">
|
|
<summary>
|
|
Receives and convert a message synchronously from the specified message queue.
|
|
</summary>
|
|
<param name="messageQueueObjectName">Name of the message queue object.</param>
|
|
<returns>the converted object</returns>
|
|
<exception cref="T:System.Messaging.MessageQueueException">if thrown by MSMQ API methods. Note an
|
|
exception will be thrown if the timeout of the syncrhonous recieve operation expires.
|
|
</exception>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.Receive">
|
|
<summary>
|
|
Receives a message on the default message queue using the transactional settings as dicted by MessageQueue's Transactional property and
|
|
the current Spring managed ambient transaction.
|
|
</summary>
|
|
<returns>A message.</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.Receive(System.String)">
|
|
<summary>
|
|
Receives a message on the specified queue using the transactional settings as dicted by MessageQueue's Transactional property and
|
|
the current Spring managed ambient transaction.
|
|
</summary>
|
|
<param name="messageQueueObjectName">Name of the message queue object.</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.Send(System.Messaging.Message)">
|
|
<summary>
|
|
Sends the specified message to the default message queue using the
|
|
transactional settings as dicted by MessageQueue's Transactional property and
|
|
the current Spring managed ambient transaction.
|
|
</summary>
|
|
<param name="message">The message to send</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.Send(System.String,System.Messaging.Message)">
|
|
<summary>
|
|
Sends the specified message to the message queue using the
|
|
transactional settings as dicted by MessageQueue's Transactional property and
|
|
the current Spring managed ambient transaction.
|
|
</summary>
|
|
<param name="messageQueueObjectName">Name of the message queue object.</param>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.Send(System.Messaging.MessageQueue,System.Messaging.Message)">
|
|
<summary>
|
|
Sends the specified message on the provided MessageQueue using the
|
|
transactional settings as dicted by MessageQueue's Transactional property and
|
|
the current Spring managed ambient transaction.
|
|
</summary>
|
|
<param name="messageQueue">The DefaultMessageQueue to send a message to.</param>
|
|
<param name="message">The message to send</param>
|
|
<para>
|
|
Note that it is the callers responsibility to ensure that the MessageQueue instance
|
|
passed into this not being access simultaneously by other threads.
|
|
</para>
|
|
<remarks>A transactional send (either local or DTC transaction) will be
|
|
attempted for a transacitonal queue, falling back to a single-transaction send
|
|
to a transactional queue if there is not ambient Spring managed transaction.</remarks>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.DoSend(System.Messaging.MessageQueue,System.Messaging.Message)">
|
|
<summary>
|
|
Sends the message to the given message queue.
|
|
</summary>
|
|
<remarks>If System.Transactions.Transaction.Current is null, then send based on
|
|
the transaction semantics of the queue definition. See <see cref="M:Spring.Messaging.Core.MessageQueueTemplate.DoSendMessageQueue(System.Messaging.MessageQueue,System.Messaging.Message)"/> </remarks>
|
|
<param name="messageQueue">The message queue.</param>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.DoSendMessageQueue(System.Messaging.MessageQueue,System.Messaging.Message)">
|
|
<summary>
|
|
Send the message queue selecting the appropriate transactional delivery options.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
If the message queue is transactional and there is an ambient MessageQueueTransaction
|
|
in thread local storage (put there via the use of Spring's MessageQueueTransactionManager
|
|
or TransactionalMessageListenerContainer), the message will be sent transactionally using the
|
|
MessageQueueTransaction object in thread local storage. This lets you group together multiple
|
|
messaging operations within the same transaction without having to explicitly pass around the
|
|
MessageQueueTransaction object.
|
|
</para>
|
|
<para>
|
|
If the message queue is transactional but there is no ambient MessageQueueTransaction,
|
|
then a single message transaction is created on each messaging operation.
|
|
(MessageQueueTransactionType = Single).
|
|
</para>
|
|
<para>
|
|
If there is an ambient System.Transactions transaction then that transaction will
|
|
be used (MessageQueueTransactionType = Automatic).
|
|
</para>
|
|
<para>
|
|
If the queue is not transactional, then a non-transactional send
|
|
(MessageQueueTransactionType = None) is used.
|
|
</para>
|
|
</remarks>
|
|
<param name="mq">The mq.</param>
|
|
<param name="msg">The MSG.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.DoSendMessageTransaction(System.Messaging.MessageQueue,System.Messaging.MessageQueueTransaction,System.Messaging.Message)">
|
|
<summary>
|
|
Does the send message transaction.
|
|
</summary>
|
|
<param name="mq">The mq.</param>
|
|
<param name="transactionToUse">The transaction to use.</param>
|
|
<param name="msg">The MSG.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.DoSendMessageQueueNonTransactional(System.Messaging.MessageQueue,System.Messaging.MessageQueueTransaction,System.Messaging.Message)">
|
|
<summary>
|
|
Does the send message queue non transactional.
|
|
</summary>
|
|
<param name="mq">The mq.</param>
|
|
<param name="transactionToUse">The transaction to use.</param>
|
|
<param name="msg">The MSG.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.DoSendTxScope(System.Messaging.MessageQueue,System.Messaging.Message)">
|
|
<summary>
|
|
Sends using MessageQueueTransactionType.Automatic transaction type
|
|
</summary>
|
|
<param name="mq">The message queue.</param>
|
|
<param name="msg">The message.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.DoConvertMessage(System.Messaging.Message)">
|
|
<summary>
|
|
Template method to convert the message if it is not null.
|
|
</summary>
|
|
<param name="m">The message.</param>
|
|
<returns>The converted message ,or null if no message converter is set.</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTemplate.CheckDefaultMessageQueue">
|
|
<summary>
|
|
Checks if the default message queue if defined.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.MessageQueueTemplate.MessageQueueFactory">
|
|
<summary>
|
|
Gets or sets the message queue factory to use for creating MessageQueue and IMessageConverters.
|
|
Default value is one that support thread local instances.
|
|
</summary>
|
|
<value>The message queue factory.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.MessageQueueTemplate.DefaultMessageQueueObjectName">
|
|
<summary>
|
|
Gets or sets the name of the default message queue as identified in the Spring container.
|
|
</summary>
|
|
<value>The name of the message queue as identified in the Spring container.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.MessageQueueTemplate.MessageConverterObjectName">
|
|
<summary>
|
|
Gets or sets the name of the message converter object. The name will be passed to
|
|
the <see cref="T:Spring.Messaging.Core.IMessageQueueFactory"/> class to resolve it to an actual MessageQueue
|
|
instance.
|
|
</summary>
|
|
<remarks>The default name is internally generated and will register an XmlMessageConverter
|
|
that uses an <see cref="T:System.Messaging.XmlMessageFormatter"/> and a simple System.String as its TargetType.</remarks>
|
|
<value>The name of the message converter object.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.MessageQueueTemplate.DefaultMessageQueue">
|
|
<summary>
|
|
Gets the default message queue to be used on send/receive operations that do not
|
|
have a destination parameter. The MessageQueue instance is resolved using
|
|
the template's <see cref="T:Spring.Messaging.Core.IMessageQueueFactory"/>, the default implementaion
|
|
<see cref="T:Spring.Messaging.Core.DefaultMessageQueueFactory"/> will return an unique instance per thread.
|
|
</summary>
|
|
<value>The default message queue.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.MessageQueueTemplate.MessageConverter">
|
|
<summary>
|
|
Gets the message converter to use for this template. Used to resolve
|
|
object parameters to ConvertAndSend methods and object results
|
|
from ReceiveAndConvert methods.
|
|
</summary>
|
|
<remarks>
|
|
The default
|
|
</remarks>
|
|
<value>The message converter.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.MessageQueueTemplate.ReceiveTimeout">
|
|
<summary>
|
|
Gets or sets the receive timeout to be used on recieve operations. Default value is
|
|
MessageQueue.InfiniteTimeout (which is actually ~3 months).
|
|
</summary>
|
|
<value>The receive timeout.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.MessageQueueTemplate.MetadataCache">
|
|
<summary>
|
|
Gets or sets the metadata cache.
|
|
</summary>
|
|
<value>The metadata cache.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.MessageQueueTemplate.ApplicationContext">
|
|
<summary>
|
|
Gets or sets the <see cref="T:Spring.Context.IApplicationContext"/> that this
|
|
object runs in.
|
|
</summary>
|
|
<remarks>
|
|
<p>
|
|
Normally this call will be used to initialize the object.
|
|
</p>
|
|
<p>
|
|
Invoked after population of normal object properties but before an
|
|
init callback such as
|
|
<see cref="T:Spring.Objects.Factory.IInitializingObject"/>'s
|
|
<see cref="M:Spring.Objects.Factory.IInitializingObject.AfterPropertiesSet"/>
|
|
or a custom init-method. Invoked after the setting of any
|
|
<see cref="T:Spring.Context.IResourceLoaderAware"/>'s
|
|
<see cref="P:Spring.Context.IResourceLoaderAware.ResourceLoader"/>
|
|
property.
|
|
</p>
|
|
</remarks>
|
|
<exception cref="T:Spring.Context.ApplicationContextException">
|
|
In the case of application context initialization errors.
|
|
</exception>
|
|
<exception cref="T:Spring.Objects.ObjectsException">
|
|
If thrown by any application context methods.
|
|
</exception>
|
|
<exception cref="T:Spring.Objects.Factory.ObjectInitializationException"/>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Core.MessageQueueTransactionManager">
|
|
<summary>
|
|
<see cref="T:Spring.Transaction.IPlatformTransactionManager"/> implementation for MSMQ. Binds a
|
|
MessageQueueTransaction to the thread.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
This local strategy is an alternative to executing MSMQ operations within
|
|
DTC transactions. Its advantage is that multiple MSMQ operations can
|
|
easily participate within the same local MessagingTransaction transparently when
|
|
using the <see cref="T:Spring.Messaging.Core.MessageQueueTemplate"/> class for send and recieve operations
|
|
and not pay the overhead of a DTC transaction.
|
|
</para>
|
|
<para>Transaction synchronization is turned off by default, as this manager might
|
|
be used alongside a IDbProvider-based Spring transaction manager such as the
|
|
ADO.NET <see cref="T:Spring.Data.Core.AdoPlatformTransactionManager"/>.
|
|
which has stronger needs for synchronization.</para>
|
|
</remarks>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="F:Spring.Messaging.Core.MessageQueueTransactionManager.CURRENT_TRANSACTION_SLOTNAME">
|
|
<summary>
|
|
Location where the message transaction is stored in thread local storage.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTransactionManager.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:Spring.Messaging.Core.MessageQueueTransactionManager"/> class.
|
|
</summary>
|
|
<remarks>
|
|
Turns off transaction synchronization by default, as this manager might
|
|
be used alongside a DbProvider-based Spring transaction manager like
|
|
AdoPlatformTransactionManager, which has stronger needs for synchronization.
|
|
Only one manager is allowed to drive synchronization at any point of time.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTransactionManager.DoGetTransaction">
|
|
<summary>
|
|
Return the current transaction object.
|
|
</summary>
|
|
<returns>The current transaction object.</returns>
|
|
<exception cref="T:Spring.Transaction.CannotCreateTransactionException">
|
|
If transaction support is not available.
|
|
</exception>
|
|
<exception cref="T:Spring.Transaction.TransactionException">
|
|
In the case of lookup or system errors.
|
|
</exception>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTransactionManager.IsExistingTransaction(System.Object)">
|
|
<summary>
|
|
Check if the given transaction object indicates an existing transaction
|
|
(that is, a transaction which has already started).
|
|
</summary>
|
|
<param name="transaction">MessageQueueTransactionObject object returned by
|
|
<see cref="M:Spring.Transaction.Support.AbstractPlatformTransactionManager.DoGetTransaction"/>.</param>
|
|
<returns>
|
|
True if there is an existing transaction.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTransactionManager.DoBegin(System.Object,Spring.Transaction.ITransactionDefinition)">
|
|
<summary>
|
|
Begin a new transaction with the given transaction definition.
|
|
</summary>
|
|
<param name="transaction">Transaction object returned by
|
|
<see cref="M:Spring.Transaction.Support.AbstractPlatformTransactionManager.DoGetTransaction"/>.</param>
|
|
<param name="definition"><see cref="T:Spring.Transaction.ITransactionDefinition"/> instance, describing
|
|
propagation behavior, isolation level, timeout etc.</param>
|
|
<exception cref="T:Spring.Transaction.TransactionException">
|
|
In the case of creation or system errors.
|
|
</exception>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTransactionManager.DoSuspend(System.Object)">
|
|
<summary>
|
|
Suspend the resources of the current transaction.
|
|
</summary>
|
|
<param name="transaction">Transaction object returned by
|
|
<see cref="M:Spring.Transaction.Support.AbstractPlatformTransactionManager.DoGetTransaction"/>.</param>
|
|
<returns>
|
|
An object that holds suspended resources (will be kept unexamined for passing it into
|
|
<see cref="M:Spring.Transaction.Support.AbstractPlatformTransactionManager.DoResume(System.Object,System.Object)"/>.)
|
|
</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTransactionManager.DoResume(System.Object,System.Object)">
|
|
<summary>
|
|
Resume the resources of the current transaction.
|
|
</summary>
|
|
<param name="transaction">Transaction object returned by
|
|
<see cref="M:Spring.Transaction.Support.AbstractPlatformTransactionManager.DoGetTransaction"/>.</param>
|
|
<param name="suspendedResources">The object that holds suspended resources as returned by
|
|
<see cref="M:Spring.Transaction.Support.AbstractPlatformTransactionManager.DoSuspend(System.Object)"/>.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTransactionManager.DoCommit(Spring.Transaction.Support.DefaultTransactionStatus)">
|
|
<summary>
|
|
Perform an actual commit on the given transaction.
|
|
</summary>
|
|
<param name="status">The status representation of the transaction.</param>
|
|
<remarks>
|
|
<p>
|
|
An implementation does not need to check the rollback-only flag.
|
|
</p>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTransactionManager.DoRollback(Spring.Transaction.Support.DefaultTransactionStatus)">
|
|
<summary>
|
|
Perform an actual rollback on the given transaction, calls Transaction.Abort().
|
|
</summary>
|
|
<param name="status">The status representation of the transaction.</param>
|
|
<remarks>
|
|
An implementation does not need to check the new transaction flag.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTransactionManager.DoSetRollbackOnly(Spring.Transaction.Support.DefaultTransactionStatus)">
|
|
<summary>
|
|
Set the given transaction rollback-only. Only called on rollback
|
|
if the current transaction takes part in an existing one.
|
|
</summary>
|
|
<param name="status">The status representation of the transaction.</param>
|
|
<remarks>Default implementation throws an IllegalTransactionStateException,
|
|
assuming that participating in existing transactions is generally not
|
|
supported. Subclasses are of course encouraged to provide such support.
|
|
</remarks>
|
|
<exception cref="T:Spring.Transaction.TransactionException">
|
|
In the case of system errors.
|
|
</exception>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.MessageQueueTransactionManager.DoCleanupAfterCompletion(System.Object)">
|
|
<summary>
|
|
Cleanup resources after transaction completion.
|
|
</summary>
|
|
<param name="transaction">Transaction object returned by
|
|
<see cref="M:Spring.Transaction.Support.AbstractPlatformTransactionManager.DoGetTransaction"/>.</param>
|
|
<remarks>
|
|
<para>
|
|
Called after <see cref="M:Spring.Transaction.Support.AbstractPlatformTransactionManager.DoCommit(Spring.Transaction.Support.DefaultTransactionStatus)"/>
|
|
and
|
|
<see cref="M:Spring.Transaction.Support.AbstractPlatformTransactionManager.DoRollback(Spring.Transaction.Support.DefaultTransactionStatus)"/>
|
|
execution on any outcome.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Core.QueueUtils">
|
|
<summary>
|
|
Utility methods to support Spring's MSMQ functionality
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.QueueUtils.RegisterDefaultMessageConverter(Spring.Context.IApplicationContext)">
|
|
<summary>
|
|
Registers the default message converter with the application context.
|
|
</summary>
|
|
<param name="applicationContext">The application context.</param>
|
|
<returns>The name of the message converter to use for lookups with
|
|
<see cref="T:Spring.Messaging.Core.DefaultMessageQueueFactory"/>.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Core.QueueUtils.GetMessageQueueTransaction(Spring.Messaging.Core.IResourceFactory)">
|
|
<summary>
|
|
Gets the message queue transaction from thread local storage
|
|
</summary>
|
|
<param name="resourceFactory">The resource factory.</param>
|
|
<returns>null if not found in thread local storage</returns>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Core.IResourceFactory">
|
|
<summary> Callback interface for resource creation.
|
|
Serving as argument for the <code>GetMessageQueueTransaction</code> method.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Core.IResourceFactory.SynchedLocalTransactionAllowed">
|
|
<summary>
|
|
Return whether to allow for a local transaction that is synchronized with
|
|
a Spring-managed transaction (where the main transaction might be a ADO.NET-based
|
|
one for a specific IDbProvider, for example), with the MSMQ transaction
|
|
committing right after the main transaction.
|
|
Returns whether to allow for synchronizing a local MSMQ transaction
|
|
</summary>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.AbstractListenerContainer">
|
|
<summary>
|
|
Provides basic lifecyle management methods for implementing a message listener container.
|
|
</summary>
|
|
<remarks>
|
|
This base class does not assume any specific listener programming model
|
|
or listener invoker mechanism. It just provides the general runtime
|
|
lifecycle management needed for any kind of message-based listening mechanism.
|
|
<para>
|
|
For a concrete listener programming model, check out the
|
|
<see cref="T:Spring.Messaging.Listener.AbstractMessageListenerContainer"/> subclass. For a concrete listener
|
|
invoker mechanism, check out the <see cref="T:Spring.Messaging.Listener.NonTransactionalMessageListenerContainer"/>,
|
|
<see cref="T:Spring.Messaging.Listener.TransactionalMessageListenerContainer"/>, or
|
|
<see cref="T:Spring.Messaging.Listener.DistributedTxMessageListenerContainer"/> classes.
|
|
</para>
|
|
</remarks>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractListenerContainer.AfterPropertiesSet">
|
|
<summary>
|
|
Delegates to <see cref="M:Spring.Messaging.Listener.AbstractListenerContainer.ValidateConfiguration"/> and <see cref="M:Spring.Messaging.Listener.AbstractListenerContainer.Initialize"/>
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractListenerContainer.Dispose">
|
|
<summary>
|
|
Calls <see cref="M:Spring.Messaging.Listener.AbstractListenerContainer.Shutdown"/> when the application context destroys the container instance.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractListenerContainer.ValidateConfiguration">
|
|
<summary>
|
|
Validates the configuration of this container
|
|
The default implementation is empty. To be overridden in subclasses.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractListenerContainer.Initialize">
|
|
<summary>
|
|
Initializes this container. Calls the abstract method <see cref="M:Spring.Messaging.Listener.AbstractListenerContainer.DoInitialize"/> to
|
|
initialize the listening infrastructure (i.e. subclasses will typically
|
|
resolve a MessageQueue instance from a MessageQueueObjectName) and then calls
|
|
the abstract method DoStart if the property <see cref="P:Spring.Messaging.Listener.AbstractListenerContainer.AutoStartup"/> is set to true,
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractListenerContainer.Shutdown">
|
|
<summary>
|
|
Sets the container state to inactive and not running, calls template method
|
|
<see cref="M:Spring.Messaging.Listener.AbstractListenerContainer.DoShutdown"/>
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractListenerContainer.Start">
|
|
<summary>
|
|
Starts this container.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractListenerContainer.DoStart">
|
|
<summary>
|
|
Sets the state to running, can be overridden in subclasses.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractListenerContainer.Stop">
|
|
<summary>
|
|
Stops this instance.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractListenerContainer.DoStop">
|
|
<summary>
|
|
Template method suitable for overriding that stops the container.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractListenerContainer.RunningAllowed">
|
|
<summary>
|
|
Check whether this container's listeners are generally allowed to run.
|
|
</summary>
|
|
<remarks>
|
|
This implementation always returns <code>true</code>; the default 'running'
|
|
state is purely determined by <see cref="M:Spring.Messaging.Listener.AbstractListenerContainer.Start"/> and <see cref="M:Spring.Messaging.Listener.AbstractListenerContainer.Stop"/>
|
|
<para>
|
|
Subclasses may override this method to check against temporary
|
|
conditions that prevent listeners from actually running. In other words,
|
|
they may apply further restrictions to the 'running' state, returning
|
|
<code>false</code> if such a restriction prevents listeners from running.
|
|
</para>
|
|
</remarks>
|
|
<returns><code>false</code> if such a restriction prevents listeners from running.</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractListenerContainer.DoInitialize">
|
|
<summary>
|
|
Subclasses need to implement this method for their specific
|
|
listener management process.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractListenerContainer.DoShutdown">
|
|
<summary>
|
|
Subclasses need to implement this method for their specific
|
|
listener management process.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractListenerContainer.AutoStartup">
|
|
<summary>
|
|
Sets a value indicating whether to automatically start the container after initialization.
|
|
Default is "true"; set this to "false" to allow for manual startup though the
|
|
<see cref="M:Spring.Messaging.Listener.AbstractListenerContainer.Start"/> method.
|
|
</summary>
|
|
<value><c>true</c> if autostartup; otherwise, <c>false</c>.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractListenerContainer.Active">
|
|
<summary>
|
|
Gets a value indicating whether this Container is active,
|
|
that is, whether it has been set up but not shut down yet.
|
|
</summary>
|
|
<value><c>true</c> if active; otherwise, <c>false</c>.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractListenerContainer.Running">
|
|
<summary>
|
|
Gets a value indicating whether this Container is running,
|
|
that is whether it has been started and not stopped yet.
|
|
</summary>
|
|
<value><c>true</c> if running; otherwise, <c>false</c>.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractListenerContainer.ObjectName">
|
|
<summary>
|
|
Return the object name that this listener container has been assigned
|
|
in its containing object factory, if any.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.AbstractMessageListenerContainer">
|
|
<summary>
|
|
Defines a minimal programming model for message listener containers. They are expected to
|
|
invoke a <see cref="T:Spring.Messaging.Listener.IMessageListener"/> upon asynchronous receives of a MSMQ message. Access to
|
|
obtain MessageQueue and <see cref="T:Spring.Messaging.Support.Converters.IMessageConverter"/> instances is available through the
|
|
<see cref="T:Spring.Messaging.Core.IMessageQueueFactory"/> property, the default implementation
|
|
<see cref="T:Spring.Messaging.Core.DefaultMessageQueueFactory"/> provides per-thread instances of these classes.
|
|
</summary>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="F:Spring.Messaging.Listener.AbstractMessageListenerContainer.messageQueueMonitor">
|
|
<summary>
|
|
Most operations within the MessageListener container hierarchy use methods on the
|
|
MessageQueue instance which are thread safe (BeginPeek, BeginReceive,
|
|
EndPeek, EndReceive, GetAllMessages, Peek, and Receive). When using another
|
|
method on the shared MessageQueue instance, wrap calls with a lock on this object.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractMessageListenerContainer.ValidateConfiguration">
|
|
<summary>
|
|
Validates that the <see cref="F:Spring.Messaging.Listener.AbstractMessageListenerContainer.messageQueueObjectName"/> is not null. If <see cref="P:Spring.Messaging.Listener.AbstractMessageListenerContainer.MessageQueueFactory"/>
|
|
is null, a <see cref="T:Spring.Messaging.Core.DefaultMessageQueueFactory"/> is created. Can be be overridden in subclasses.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractMessageListenerContainer.DoExecuteListener(System.Messaging.Message)">
|
|
<summary>
|
|
Template method that execute listener with the provided message if
|
|
<see cref="P:Spring.Messaging.Listener.AbstractListenerContainer.Running"/> is true. Subclasses will call
|
|
this method at the appropriate point in their processing lifecycle, for example
|
|
committing or rolling back a transaction if needed.
|
|
</summary>
|
|
<remarks>Calls the template method <see cref="M:Spring.Messaging.Listener.AbstractMessageListenerContainer.InvokeListener(System.Messaging.Message)"/></remarks>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractMessageListenerContainer.InvokeListener(System.Messaging.Message)">
|
|
<summary>
|
|
Invokes the listener if it is not null. Invokes the method <see cref="M:Spring.Messaging.Listener.AbstractMessageListenerContainer.DoInvokeListener(Spring.Messaging.Listener.IMessageListener,System.Messaging.Message)"/>.
|
|
Can be overridden in subclasses.
|
|
</summary>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractMessageListenerContainer.DoInvokeListener(Spring.Messaging.Listener.IMessageListener,System.Messaging.Message)">
|
|
<summary>
|
|
Invokes the listener. Can be overriden in subclasses.
|
|
</summary>
|
|
<param name="listener">The listener.</param>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractMessageListenerContainer.CloseQueueHandle(System.Messaging.MessageQueue)">
|
|
<summary>
|
|
Closes the queue handle. Cancel pending receive operation by closing the queue handle
|
|
To properly dispose of the queue handle, ensure that EnableConnectionCache=false on the
|
|
MessageQueue that this listener is configured to use.
|
|
</summary>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractMessageListenerContainer.MessageQueueFactory">
|
|
<summary>
|
|
Gets or sets the message queue factory.
|
|
</summary>
|
|
<value>The message queue factory.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractMessageListenerContainer.MessageQueueObjectName">
|
|
<summary>
|
|
Gets or sets the name of the message queue object, as refered to in the
|
|
Spring configuration, that will be used to create a DefaultMessageQueue instance
|
|
for consuming messages in the container.
|
|
</summary>
|
|
<value>The name of the message queue object.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractMessageListenerContainer.MessageListener">
|
|
<summary>
|
|
Gets or sets the message listener.
|
|
</summary>
|
|
<value>The message listener.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractMessageListenerContainer.RecoveryTimeSpan">
|
|
<summary>
|
|
Gets or sets the recovery time span, how long to sleep after an exception in processing occured
|
|
to avoid excessive redelivery attempts. Default value is 1 second.
|
|
</summary>
|
|
<value>The recovery time span.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractMessageListenerContainer.ApplicationContext">
|
|
<summary>
|
|
Gets or sets the <see cref="T:Spring.Context.IApplicationContext"/> that this
|
|
object runs in.
|
|
</summary>
|
|
<remarks>
|
|
<p>
|
|
Normally this call will be used to initialize the object.
|
|
</p>
|
|
<p>
|
|
Invoked after population of normal object properties but before an
|
|
init callback such as
|
|
<see cref="T:Spring.Objects.Factory.IInitializingObject"/>'s
|
|
<see cref="M:Spring.Objects.Factory.IInitializingObject.AfterPropertiesSet"/>
|
|
or a custom init-method. Invoked after the setting of any
|
|
<see cref="T:Spring.Context.IResourceLoaderAware"/>'s
|
|
<see cref="P:Spring.Context.IResourceLoaderAware.ResourceLoader"/>
|
|
property.
|
|
</p>
|
|
</remarks>
|
|
<exception cref="T:Spring.Context.ApplicationContextException">
|
|
In the case of application context initialization errors.
|
|
</exception>
|
|
<exception cref="T:Spring.Objects.ObjectsException">
|
|
If thrown by any application context methods.
|
|
</exception>
|
|
<exception cref="T:Spring.Objects.Factory.ObjectInitializationException"/>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.AbstractPeekingMessageListenerContainer">
|
|
<summary>
|
|
Base class for listener container implementations which are based on Peeking for messages on
|
|
a MessageQueue. Peeking is the only resource efficient approach that can be used in
|
|
order to have MessageQueue receipt in conjunction with transactions, either local MSMQ transactions,
|
|
local ADO.NET based transactions, or DTC transactions. See SimpleMessageListenerContainer for
|
|
an implementation based on a synchronous receives and you do not require transactional support.
|
|
</summary>
|
|
<remarks>
|
|
The number of threads that will be created for processing messages after the Peek occurs
|
|
is set via the property MaxConcurrentListeners. Each processing thread will continue to listen
|
|
for messages up until the the timeout value specified by ListenerTimeLimit or until
|
|
there are no more messages on the queue (which ver comes first).
|
|
<para>
|
|
The default value of
|
|
ListenerTimeLimit is TimeSpan.Zero, meaning that only one attempt to recieve a message from the
|
|
queue will be performed by each listener thread.
|
|
</para>
|
|
<para>
|
|
The current implementation uses the standard .NET thread pool. Future implementations will
|
|
use a custom (and pluggable) thread pool.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractPeekingMessageListenerContainer.DoInitialize">
|
|
<summary>
|
|
Retrieves a MessageQueue instance given the MessageQueueObjectName
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractPeekingMessageListenerContainer.DoShutdown">
|
|
<summary>
|
|
Wait for all listener threads to exit and closes the DefaultMessageQueue.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractPeekingMessageListenerContainer.DoStart">
|
|
<summary>
|
|
Starts peeking on the DefaultMessageQueue.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractPeekingMessageListenerContainer.DoStop">
|
|
<summary>
|
|
Stops peeking on the message queue.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractPeekingMessageListenerContainer.StartPeeking">
|
|
<summary>
|
|
Starts peeking on the DefaultMessageQueue. This is the method that must be called
|
|
again at the end of message procesing to continue the peeking process.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractPeekingMessageListenerContainer.PeekCompleted(System.IAsyncResult)">
|
|
<summary>
|
|
The callback when the peek has completed. Schedule up to the maximum number of
|
|
concurrent listeners to receive messages off the queue. Delegates to the abstract
|
|
method DoReceiveAndExecute so that subclasses may customize the receiving process,
|
|
for example to surround the receive operation with transactional semantics.
|
|
</summary>
|
|
<param name="asyncResult">The async result.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractPeekingMessageListenerContainer.ReceiveAndExecute(System.Object)">
|
|
<summary>
|
|
Execute the listener for a message received from the given queue
|
|
wrapping the entire operation in an external transaction if demanded.
|
|
</summary>
|
|
<param name="state">The DefaultMessageQueue upon which the call to receive should be
|
|
called.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractPeekingMessageListenerContainer.DoReceiveAndExecute(System.Messaging.MessageQueue)">
|
|
<summary>
|
|
Subclasses perform a receive opertion on the message queue and execute the
|
|
message listener
|
|
</summary>
|
|
<param name="mq">The DefaultMessageQueue.</param>
|
|
<returns>true if received a message, false otherwise</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractPeekingMessageListenerContainer.WaitForListenerThreadsToExit">
|
|
<summary>
|
|
Waits for listener threads to exit.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractPeekingMessageListenerContainer.ConfigureInitialPeekThread(System.Threading.Thread)">
|
|
<summary>
|
|
Configures the initial peek thread, setting it to be a background thread.
|
|
Can be overridden in subclasses.
|
|
</summary>
|
|
<param name="thread">The peek thread.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractPeekingMessageListenerContainer.MessageReceived(System.Messaging.Message)">
|
|
<summary>
|
|
Template method that gets called right when a new message has been received,
|
|
before attempting to process it. Allows subclasses to react to the event
|
|
of an actual incoming message, for example adapting their consumer count.
|
|
</summary>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractPeekingMessageListenerContainer.BeforeMessageReceived(System.Messaging.MessageQueue)">
|
|
<summary>
|
|
Template method that gets called right before a new message is received, i.e.
|
|
messageQueue.Receive().
|
|
</summary>
|
|
<remarks>It allows subclasses to modify the state of the MessageQueue
|
|
before receiving which maybe required when using remote queues</remarks>
|
|
<param name="messageQueue"></param>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractPeekingMessageListenerContainer.ListenerTimeLimit">
|
|
<summary>
|
|
Gets or sets the listener time limit to continuously receive messages.
|
|
The value is specified in milliseconds. The default value is TimeSpan.Zero,
|
|
indicating to only perform one Receive operation per Peek trigger.
|
|
</summary>
|
|
<value>The listener time limit in millis.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractPeekingMessageListenerContainer.MaxConcurrentListeners">
|
|
<summary>
|
|
Gets or sets the max concurrent listeners to receive messages.
|
|
</summary>
|
|
<value>The max concurrent listeners.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractPeekingMessageListenerContainer.MessageQueue">
|
|
<summary>
|
|
Gets or sets the message queue used for Peeking.
|
|
</summary>
|
|
<value>The message queue.</value>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.AbstractSendToQueueExceptionHandler">
|
|
<summary>
|
|
Provides common functionality to exception handlers that will send the exceptional message to
|
|
another queue.
|
|
</summary>
|
|
<remarks>Allows for setting of MaxRetry limit and contains an internal dictionary to keep track
|
|
of the Message Ids of messages.
|
|
</remarks>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="F:Spring.Messaging.Listener.AbstractSendToQueueExceptionHandler.messageMapMonitor">
|
|
<summary>
|
|
Synchronization object for access to messageMap protected variable
|
|
</summary>
|
|
</member>
|
|
<member name="F:Spring.Messaging.Listener.AbstractSendToQueueExceptionHandler.messageMap">
|
|
<summary>
|
|
In-memory storage to keep track of Message Ids that have been already processed.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractSendToQueueExceptionHandler.AfterPropertiesSet">
|
|
<summary>
|
|
Ensure that the MessageQueueObject name is set and creates a
|
|
<see cref="T:Spring.Messaging.Core.DefaultMessageQueueFactory"/> if no <see cref="T:Spring.Messaging.Core.IMessageQueueFactory"/>
|
|
is specified.
|
|
</summary>
|
|
<remarks>Will attempt to create an instance of the DefaultMessageQueue to detect early
|
|
any configuraiton errors.</remarks>
|
|
<exception cref="T:System.Exception">
|
|
In the event of misconfiguration (such as the failure to set a
|
|
required property) or if initialization fails.
|
|
</exception>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractSendToQueueExceptionHandler.MaxRetry">
|
|
<summary>
|
|
Gets or sets the maximum retry count to reattempt processing of a message that has thrown
|
|
an exception
|
|
</summary>
|
|
<value>The max retry count.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractSendToQueueExceptionHandler.MessageQueueFactory">
|
|
<summary>
|
|
Gets or sets the message queue factory.
|
|
</summary>
|
|
<value>The message queue factory.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractSendToQueueExceptionHandler.MessageQueueObjectName">
|
|
<summary>
|
|
Gets or sets the name of the message queue object to send the message that cannot be
|
|
processed successfully after MaxRetry delivery attempts.
|
|
</summary>
|
|
<value>The name of the message queue object.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractSendToQueueExceptionHandler.ApplicationContext">
|
|
<summary>
|
|
Gets or sets the <see cref="T:Spring.Context.IApplicationContext"/> that this
|
|
object runs in.
|
|
</summary>
|
|
<remarks>
|
|
<p>
|
|
Normally this call will be used to initialize the object.
|
|
</p>
|
|
<p>
|
|
Invoked after population of normal object properties but before an
|
|
init callback such as
|
|
<see cref="T:Spring.Objects.Factory.IInitializingObject"/>'s
|
|
<see cref="M:Spring.Objects.Factory.IInitializingObject.AfterPropertiesSet"/>
|
|
or a custom init-method. Invoked after the setting of any
|
|
<see cref="T:Spring.Context.IResourceLoaderAware"/>'s
|
|
<see cref="P:Spring.Context.IResourceLoaderAware.ResourceLoader"/>
|
|
property.
|
|
</p>
|
|
</remarks>
|
|
<exception cref="T:Spring.Context.ApplicationContextException">
|
|
In the case of application context initialization errors.
|
|
</exception>
|
|
<exception cref="T:Spring.Objects.ObjectsException">
|
|
If thrown by any application context methods.
|
|
</exception>
|
|
<exception cref="T:Spring.Objects.Factory.ObjectInitializationException"/>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.AbstractTransactionalMessageListenerContainer">
|
|
<summary>
|
|
An implementation of a Peeking based MessageListener container that starts a transaction
|
|
before recieving a message. The <see cref="T:Spring.Transaction.IPlatformTransactionManager"/> implementation determines
|
|
the type of transaction that will be started. An exception while processing the message will
|
|
result in a rollback, otherwise a transaction commit will be performed.
|
|
</summary>
|
|
<remarks>
|
|
The type of transaction that can be started can either be local transaction,
|
|
(e.g. <see cref="T:Spring.Data.Core.AdoPlatformTransactionManager"/>, a local messaging transaction
|
|
(e.g. <see cref="T:Spring.Messaging.Core.MessageQueueTransactionManager"/> or a DTC based transaction,
|
|
(eg. <see cref="T:Spring.Data.Core.TxScopeTransactionManager"/>.
|
|
<para>
|
|
Transaction properties can be set using the property <see cref="P:Spring.Messaging.Listener.AbstractTransactionalMessageListenerContainer.TransactionDefinition"/>
|
|
and the transaction timeout via the property <see cref="P:Spring.Messaging.Listener.AbstractTransactionalMessageListenerContainer.TransactionTimeout"/>.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractTransactionalMessageListenerContainer.DoReceiveAndExecute(System.Messaging.MessageQueue)">
|
|
<summary>
|
|
Subclasses perform a receive opertion on the message queue and execute the
|
|
message listener
|
|
</summary>
|
|
<param name="mq">The DefaultMessageQueue.</param>
|
|
<returns>
|
|
true if received a message, false otherwise
|
|
</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractTransactionalMessageListenerContainer.DoReceiveAndExecuteUsingPlatformTransactionManager(System.Messaging.MessageQueue,Spring.Transaction.ITransactionStatus)">
|
|
<summary>
|
|
Does the receive and execute using platform transaction manager.
|
|
</summary>
|
|
<param name="mq">The message queue.</param>
|
|
<param name="status">The transactional status.</param>
|
|
<returns>true if should continue peeking, false otherwise.</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.AbstractTransactionalMessageListenerContainer.RollbackOnException(Spring.Transaction.ITransactionStatus,System.Exception)">
|
|
<summary>
|
|
Rollback the transaction on exception.
|
|
</summary>
|
|
<param name="status">The transactional status.</param>
|
|
<param name="ex">The exception.</param>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractTransactionalMessageListenerContainer.PlatformTransactionManager">
|
|
<summary>
|
|
Gets or sets the platform transaction manager.
|
|
</summary>
|
|
<value>The platform transaction manager.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractTransactionalMessageListenerContainer.TransactionDefinition">
|
|
<summary>
|
|
Gets or sets the transaction definition.
|
|
</summary>
|
|
<value>The transaction definition.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.AbstractTransactionalMessageListenerContainer.TransactionTimeout">
|
|
<summary>
|
|
Sets the transaction timeout to use for transactional wrapping, in <b>seconds</b>.
|
|
Default is none, using the transaction manager's default timeout.
|
|
</summary>
|
|
<value>The transaction timeout.</value>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.DistributedTxMessageListenerContainer">
|
|
<summary>
|
|
A MessageListenerContainer that uses distributed (DTC) based transactions. Exceptions are
|
|
handled by instances of <see cref="T:Spring.Messaging.Listener.IDistributedTransactionExceptionHandler"/>.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
Starts a DTC based transaction before receiving the message. The transaction is
|
|
automaticaly promoted to 2PC to avoid the default behaivor of transactional promotion.
|
|
Database and messaging operations will commit or rollback together.
|
|
</para>
|
|
<para>
|
|
If you only want local message based transactions use the
|
|
<see cref="T:Spring.Messaging.Listener.TransactionalMessageListenerContainer"/>. With some simple programming
|
|
you may also achieve 'exactly once' processing using the
|
|
<see cref="T:Spring.Messaging.Listener.TransactionalMessageListenerContainer"/>.
|
|
</para>
|
|
<para>
|
|
Poison messages can be detected and sent to another queue using Spring's
|
|
<see cref="T:Spring.Messaging.Listener.SendToQueueDistributedTransactionExceptionHandler"/>.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.DistributedTxMessageListenerContainer.Initialize">
|
|
<summary>
|
|
Set the transaction name to be the spring object name.
|
|
Call base class Initialize() functionality.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.DistributedTxMessageListenerContainer.DoReceiveAndExecuteUsingPlatformTransactionManager(System.Messaging.MessageQueue,Spring.Transaction.ITransactionStatus)">
|
|
<summary>
|
|
Does the receive and execute using TxPlatformTransactionManager. Starts a distributed
|
|
transaction before calling Receive.
|
|
</summary>
|
|
<param name="mq">The message queue.</param>
|
|
<param name="status">The transactional status.</param>
|
|
<returns>
|
|
true if should continue peeking, false otherwise.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.DistributedTxMessageListenerContainer.HandleDistributedTransactionListenerException(System.Exception,System.Messaging.Message)">
|
|
<summary>
|
|
Handles the distributed transaction listener exception by calling the
|
|
<see cref="T:Spring.Messaging.Listener.IDistributedTransactionExceptionHandler"/> if not null.
|
|
</summary>
|
|
<param name="exception">The exception.</param>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.DistributedTxMessageListenerContainer.DistributedTransactionExceptionHandler">
|
|
<summary>
|
|
Gets or sets the distributed transaction exception handler.
|
|
</summary>
|
|
<value>The distributed transaction exception handler.</value>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.IDistributedTransactionExceptionHandler">
|
|
<summary>
|
|
Exception handler for use with DTC based message listener container.
|
|
such as <see cref="T:Spring.Messaging.Listener.DistributedTxMessageListenerContainer"/>.
|
|
See <see cref="T:Spring.Messaging.Listener.SendToQueueDistributedTransactionExceptionHandler"/> for
|
|
an implementation that detects poison messages and send them to another queue.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.IDistributedTransactionExceptionHandler.IsPoisonMessage(System.Messaging.Message)">
|
|
<summary>
|
|
Determines whether the incoming message is a poison message. This method is
|
|
called before the <see cref="T:Spring.Messaging.Listener.IMessageListener"/> is invoked.
|
|
</summary>
|
|
<remarks>
|
|
The <see cref="T:Spring.Messaging.Listener.DistributedTxMessageListenerContainer"/> will call
|
|
<see cref="M:Spring.Messaging.Listener.IDistributedTransactionExceptionHandler.HandlePoisonMessage(System.Messaging.Message)"/> if this method returns true and will
|
|
then commit the distibuted transaction (removing the message from the queue).
|
|
</remarks>
|
|
<param name="message">The incoming message.</param>
|
|
<returns>
|
|
<c>true</c> if it is a poison message; otherwise, <c>false</c>.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.IDistributedTransactionExceptionHandler.HandlePoisonMessage(System.Messaging.Message)">
|
|
<summary>
|
|
Handles the poison message.
|
|
</summary>
|
|
<remarks>Typical implementations will move the message to another queue.
|
|
The <see cref="T:Spring.Messaging.Listener.DistributedTxMessageListenerContainer"/> will call this
|
|
method while still within a DTC-based transaction.
|
|
</remarks>
|
|
<param name="poisonMessage">The poison message.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.IDistributedTransactionExceptionHandler.OnException(System.Exception,System.Messaging.Message)">
|
|
<summary>
|
|
Called when an exception is thrown in listener processing.
|
|
</summary>
|
|
<param name="exception">The exception.</param>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.IExceptionHandler">
|
|
<summary>
|
|
Exception handler called when an exception occurs during
|
|
non-transactional receive processing.
|
|
</summary>
|
|
<remarks>
|
|
A non-transactional receive will remove the message from the queue. Non-transactional
|
|
receivers do not suffer from poison messages since there is no redelivery by MSMQ.
|
|
Typical actions to perform are to log the message or place it in another queue.
|
|
If placed in another queue, another message listener container can be used to
|
|
process the message later, assuming the root cause of the original exception is
|
|
transient in nature.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.IExceptionHandler.OnException(System.Exception,System.Messaging.Message)">
|
|
<summary>
|
|
Called when an exception is thrown in listener processing.
|
|
</summary>
|
|
<param name="exception">The exception.</param>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.IMessageListener">
|
|
<summary>
|
|
The callback invoked when a message is received.
|
|
</summary>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.IMessageListener.OnMessage(System.Messaging.Message)">
|
|
<summary>
|
|
Called when message is received.
|
|
</summary>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.IMessageTransactionExceptionHandler">
|
|
<summary>
|
|
The exception handler within a transactional context.
|
|
</summary>
|
|
<remarks>
|
|
The return value indicates to the invoker (typically a
|
|
<see cref="T:Spring.Messaging.Listener.TransactionalMessageListenerContainer"/>) whether the
|
|
MessageTransaction that is associated with the delivery of this message
|
|
should be rolled back (placing the message back on the transactional queue
|
|
for redelivery) or commited (removing the message from the transactional queue)
|
|
</remarks>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.IMessageTransactionExceptionHandler.OnException(System.Exception,System.Messaging.Message,System.Messaging.MessageQueueTransaction)">
|
|
<summary>
|
|
Called when an exception is thrown during listener processing under the
|
|
scope of a <see cref="T:System.Messaging.MessageQueueTransaction"/>.
|
|
</summary>
|
|
<param name="exception">The exception.</param>
|
|
<param name="message">The message.</param>
|
|
<param name="messageQueueTransaction">The message queue transaction.</param>
|
|
<returns>An action indicating if the caller should commit or rollback the
|
|
<see cref="T:System.Messaging.MessageQueueTransaction"/>
|
|
</returns>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.ListenerExecutionFailedException">
|
|
<summary>
|
|
Exception to be thrown when the execution of a listener method failed.
|
|
</summary>
|
|
<author>Juergen Hoeller</author>
|
|
<author>Mark Pollack (.NET)</author>
|
|
</member>
|
|
<member name="T:Spring.Messaging.MessagingException">
|
|
<summary>
|
|
Base exception class for exceptions thrown by Spring in Spring.Messaging
|
|
</summary>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="M:Spring.Messaging.MessagingException.#ctor">
|
|
<summary>Creates a new instance of the MessagingException class.</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.MessagingException.#ctor(System.String)">
|
|
<summary>
|
|
Creates a new instance of the MessagingException class. with the specified message.
|
|
</summary>
|
|
<param name="message">
|
|
A message about the exception.
|
|
</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.MessagingException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Creates a new instance of the MessagingException class with the specified message
|
|
and root cause.
|
|
</summary>
|
|
<param name="message">
|
|
A message about the exception.
|
|
</param>
|
|
<param name="rootCause">
|
|
The root exception that is being wrapped.
|
|
</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.MessagingException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
|
|
<summary>
|
|
Creates a new instance of the MessagingException class.
|
|
</summary>
|
|
<param name="info">
|
|
The <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
|
|
that holds the serialized object data about the exception being thrown.
|
|
</param>
|
|
<param name="context">
|
|
The <see cref="T:System.Runtime.Serialization.StreamingContext"/>
|
|
that contains contextual information about the source or destination.
|
|
</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.ListenerExecutionFailedException.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:Spring.Messaging.Listener.ListenerExecutionFailedException"/> class, with the specified message
|
|
</summary>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.ListenerExecutionFailedException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:Spring.Messaging.Listener.ListenerExecutionFailedException"/> class, with the specified message
|
|
and root cause exception
|
|
</summary>
|
|
<param name="message">The message.</param>
|
|
<param name="innerException">The inner exception.</param>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.MessageListenerAdapter">
|
|
<summary>
|
|
Message listener adapter that delegates the handling of messages to target
|
|
listener methods via reflection <see cref="T:Spring.Reflection.Dynamic.DynamicReflectionManager"/>,
|
|
with flexible message type conversion.
|
|
Allows listener methods to operate on message content types, completely
|
|
independent from the MSMQ API.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
By default, the content of incoming MSMQ messages gets extracted before
|
|
being passed into the target handler method, to let the target method
|
|
operate on message content types such as String or business object instead of
|
|
<see cref="T:System.Messaging.Message"/>. Message type conversion is delegated to a Spring
|
|
<see cref="T:Spring.Messaging.Support.Converters.IMessageConverter"/> By default, an <see cref="T:Spring.Messaging.Support.Converters.XmlMessageConverter"/>
|
|
with TargetType set to System.String is used. If you do not want such automatic
|
|
message conversion taking place, then be sure to set the
|
|
MessageConverter property to null.
|
|
</para>
|
|
<para>
|
|
If a target handler method returns a non-null object (for example, with a
|
|
message content type such as <code>String</code>), it will get
|
|
wrapped in a MSMQ <code>Message</code> and sent to the response destination
|
|
(either using the MSMQ Message.ResponseQueue property or
|
|
<see cref="P:Spring.Messaging.Listener.MessageListenerAdapter.DefaultResponseQueue"/>) specified default response queue
|
|
destination).
|
|
</para>
|
|
<para>
|
|
Find below some examples of method signatures compliant with this adapter class.
|
|
This first example uses the default <see cref="T:Spring.Messaging.Support.Converters.XmlMessageConverter"/> that can
|
|
marhsall/unmarshall string values from the MSMQ Message.
|
|
</para>
|
|
<example>
|
|
public interface IMyHandler
|
|
{
|
|
void HandleMessage(string text);
|
|
}
|
|
</example>
|
|
<para>
|
|
The next example indicates a similar method signature but the name of the
|
|
handler method name has been changed to "DoWork", using the property
|
|
<see cref="P:Spring.Messaging.Listener.MessageListenerAdapter.DefaultHandlerMethod"/>
|
|
</para>
|
|
<example>
|
|
public interface IMyHandler
|
|
{
|
|
void DoWork(string text);
|
|
}
|
|
</example>
|
|
<para>If your <see cref="T:Spring.Messaging.Support.Converters.IMessageConverter"/> implementation will return multiple object
|
|
types, overloading the handler method is perfectly acceptible, the most specific matching
|
|
method will be used. A method with an object signature would be consider a
|
|
'catch-all' method
|
|
</para>
|
|
<example>
|
|
public interface IMyHandler
|
|
{
|
|
void DoWork(string text);
|
|
void DoWork(OrderRequest orderRequest);
|
|
void DoWork(InvoiceRequest invoiceRequest);
|
|
void DoWork(object obj);
|
|
}
|
|
</example>
|
|
<para>
|
|
The last example shows how to send a message to the ResponseQueue for those
|
|
methods that do not return void.
|
|
<example>
|
|
public interface MyHandler
|
|
{
|
|
string DoWork(string text);
|
|
OrderResponse DoWork(OrderRequest orderRequest);
|
|
InvoiceResponse DoWork(InvoiceRequest invoiceRequest);
|
|
void DoWork(object obj);
|
|
}
|
|
</example>
|
|
</para>
|
|
</remarks>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="F:Spring.Messaging.Listener.MessageListenerAdapter.ORIGINAL_DEFAULT_LISTENER_METHOD">
|
|
<summary>
|
|
Out-of-the-box value for the default listener method: "HandleMessage"
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.MessageListenerAdapter.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:Spring.Messaging.Listener.MessageListenerAdapter"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.MessageListenerAdapter.#ctor(System.Object)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:Spring.Messaging.Listener.MessageListenerAdapter"/> class.
|
|
</summary>
|
|
<param name="handlerObject">The handler object.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.MessageListenerAdapter.AfterPropertiesSet">
|
|
<summary>
|
|
Invoked by an <see cref="T:Spring.Objects.Factory.IObjectFactory"/>
|
|
after it has injected all of an object's dependencies.
|
|
</summary>
|
|
<remarks>
|
|
<p>
|
|
This method allows the object instance to perform the kind of
|
|
initialization only possible when all of it's dependencies have
|
|
been injected (set), and to throw an appropriate exception in the
|
|
event of misconfiguration.
|
|
</p>
|
|
<p>
|
|
Please do consult the class level documentation for the
|
|
<see cref="T:Spring.Objects.Factory.IObjectFactory"/> interface for a
|
|
description of exactly <i>when</i> this method is invoked. In
|
|
particular, it is worth noting that the
|
|
<see cref="T:Spring.Objects.Factory.IObjectFactoryAware"/>
|
|
and <see cref="T:Spring.Context.IApplicationContextAware"/>
|
|
callbacks will have been invoked <i>prior</i> to this method being
|
|
called.
|
|
</p>
|
|
</remarks>
|
|
<exception cref="T:System.Exception">
|
|
In the event of misconfiguration (such as the failure to set a
|
|
required property) or if initialization fails.
|
|
</exception>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.MessageListenerAdapter.OnMessage(System.Messaging.Message)">
|
|
<summary>
|
|
Called when message is received.
|
|
</summary>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.MessageListenerAdapter.GetHandlerMethodName(System.Messaging.Message,System.Object)">
|
|
<summary>
|
|
Gets the name of the handler method.
|
|
</summary>
|
|
<param name="originalMessage">The original message.</param>
|
|
<param name="extractedMessage">The extracted message.</param>
|
|
<returns>The name of the handler method.</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.MessageListenerAdapter.BuildListenerArguments(System.Object)">
|
|
<summary>
|
|
Builds an array of arguments to be passed into the taret listener method.
|
|
</summary>
|
|
<remarks>
|
|
Allows for multiple method arguments to be built from a single message object.
|
|
<p>The default implementation builds an array with the given message object
|
|
as sole element. This means that the extracted message will always be passed
|
|
into a <i>single</i> method argument, even if it is an array, with the target
|
|
method having a corresponding single argument of the array's type declared.</p>
|
|
<p>This can be overridden to treat special message content such as arrays
|
|
differently, for example passing in each element of the message array
|
|
as distinct method argument.</p>
|
|
</remarks>
|
|
<param name="convertedMessage">The converted message.</param>
|
|
<returns>the array of arguments to be passed into the
|
|
listener method (each element of the array corresponding
|
|
to a distinct method argument)</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.MessageListenerAdapter.InvokeListenerMethod(System.String,System.Object[])">
|
|
<summary>
|
|
Invokes the specified listener method. This default implementation can only handle invoking a
|
|
single argument method.
|
|
</summary>
|
|
<param name="methodName">Name of the listener method.</param>
|
|
<param name="arguments">The arguments to be passed in. Only the first argument in the list is currently
|
|
supported in this implementation.</param>
|
|
<returns>The result returned from the listener method</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.MessageListenerAdapter.InitDefaultStrategies">
|
|
<summary>
|
|
Initialize the default implementations for the adapter's strategies.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.MessageListenerAdapter.ExtractMessage(System.Messaging.Message)">
|
|
<summary>
|
|
Extracts the message body from the given message.
|
|
</summary>
|
|
<param name="message">The message.</param>
|
|
<returns>the content of the message, to be passed into the
|
|
listener method as argument</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.MessageListenerAdapter.SendResponse(System.Messaging.MessageQueue,System.Messaging.Message)">
|
|
<summary>
|
|
Sends the given response message to the given destination.
|
|
</summary>
|
|
<param name="destination">The destination to send to.</param>
|
|
<param name="response">The outgoing message about to be sent.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.MessageListenerAdapter.BuildMessage(System.Object)">
|
|
<summary>
|
|
Builds a MSMQ message to be sent as response based on the given result object.
|
|
</summary>
|
|
<param name="result">The result.</param>
|
|
<returns>the MSMQ <code>Message</code> (never <code>null</code>)</returns>
|
|
<exception cref="T:Spring.Messaging.MessagingException">If no messgae converter is specified.</exception>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.MessageListenerAdapter.PostProcessResponse(System.Messaging.Message,System.Messaging.Message)">
|
|
<summary>
|
|
Post-process the given response message before it will be sent. The default implementation
|
|
sets the response's correlation id to the request message's correlation id.
|
|
</summary>
|
|
<param name="request">The original incoming message.</param>
|
|
<param name="response">The outgoing MSMQ message about to be sent.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.MessageListenerAdapter.GetResponseDestination(System.Messaging.Message,System.Messaging.Message)">
|
|
<summary>
|
|
Determine a response destination for the given message.
|
|
</summary>
|
|
<remarks>
|
|
<para>The default implementation first checks the MSMQ ResponseQueue
|
|
of the supplied request; if that is not <code>null</code>
|
|
it is returned; if it is <code>null</code>, then the configured
|
|
<see cref="P:Spring.Messaging.Listener.MessageListenerAdapter.DefaultResponseQueue"/> default response destination}
|
|
is returned; if this too is <code>null</code>, then an
|
|
<see cref="T:Spring.Messaging.MessagingException"/>is thrown.
|
|
</para>
|
|
</remarks>
|
|
<param name="request">The request.</param>
|
|
<param name="response">The response.</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.MessageListenerAdapter.HandlerObject">
|
|
<summary>
|
|
Gets or sets the handler object to delegate message listening to.
|
|
</summary>
|
|
<remarks>
|
|
Specified listener methods have to be present on this target object.
|
|
If no explicit handler object has been specified, listener
|
|
methods are expected to present on this adapter instance, that is,
|
|
on a custom subclass of this adapter, defining listener methods.
|
|
</remarks>
|
|
<value>The handler object.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.MessageListenerAdapter.DefaultHandlerMethod">
|
|
<summary>
|
|
Gets or sets the default handler method to delegate to,
|
|
for the case where no specific listener method has been determined.
|
|
Out-of-the-box value is "HandleMessage".
|
|
</summary>
|
|
<value>The default handler method.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.MessageListenerAdapter.ProcessingExpression">
|
|
<summary>
|
|
Gets or sets the processing expression for use in custom subclasses
|
|
</summary>
|
|
<value>The processing expression.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.MessageListenerAdapter.ApplicationContext">
|
|
<summary>
|
|
Gets or sets the <see cref="T:Spring.Context.IApplicationContext"/> that this
|
|
object runs in.
|
|
</summary>
|
|
<remarks>
|
|
<p>
|
|
Normally this call will be used to initialize the object.
|
|
</p>
|
|
<p>
|
|
Invoked after population of normal object properties but before an
|
|
init callback such as
|
|
<see cref="T:Spring.Objects.Factory.IInitializingObject"/>'s
|
|
<see cref="M:Spring.Objects.Factory.IInitializingObject.AfterPropertiesSet"/>
|
|
or a custom init-method. Invoked after the setting of any
|
|
<see cref="T:Spring.Context.IResourceLoaderAware"/>'s
|
|
<see cref="P:Spring.Context.IResourceLoaderAware.ResourceLoader"/>
|
|
property.
|
|
</p>
|
|
</remarks>
|
|
<exception cref="T:Spring.Context.ApplicationContextException">
|
|
In the case of application context initialization errors.
|
|
</exception>
|
|
<exception cref="T:Spring.Objects.ObjectsException">
|
|
If thrown by any application context methods.
|
|
</exception>
|
|
<exception cref="T:Spring.Objects.Factory.ObjectInitializationException"/>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.MessageListenerAdapter.MessageQueueFactory">
|
|
<summary>
|
|
Gets or sets the message queue factory.
|
|
</summary>
|
|
<value>The message queue factory.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.MessageListenerAdapter.DefaultResponseQueueName">
|
|
<summary>
|
|
Sets the name of the default response queue to send response messages to.
|
|
This will be applied in case of a request message that does not carry a
|
|
"ResponseQueue" value.
|
|
<para>Alternatively, specify a response queue via the property
|
|
<see cref="P:Spring.Messaging.Listener.MessageListenerAdapter.DefaultResponseQueue"/>.</para>
|
|
</summary>
|
|
<value>The name of the default response destination queue.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.MessageListenerAdapter.DefaultResponseQueue">
|
|
<summary>
|
|
Sets the default destination to send response messages to. This will be applied
|
|
in case of a request message that does not carry a "ResponseQueue" property
|
|
Response destinations are only relevant for listener methods that return
|
|
result objects, which will be wrapped in a response message and sent to a
|
|
response destination.
|
|
<para>
|
|
Alternatively, specify a "DefaultResponseQueueName"
|
|
to be dynamically resolved via the MessageQueueFactory.
|
|
</para>
|
|
</summary>
|
|
<value>The default response destination.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.MessageListenerAdapter.MessageConverterObjectName">
|
|
<summary>
|
|
Gets or sets the name of the message converter object used to resolved a <see cref="T:Spring.Messaging.Support.Converters.IMessageConverter"/>
|
|
instance.
|
|
</summary>
|
|
<value>The name of the message converter object.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.MessageListenerAdapter.MessageConverter">
|
|
<summary>
|
|
Gets message converter that will convert incoming MSMQ messages to
|
|
listener method arguments, and objects returned from listener
|
|
methods back to MSMQ messages.
|
|
</summary>
|
|
<remarks>
|
|
<para>The converter used is the one returned by CreateMessageConverter on MessageQueueFactory.
|
|
</para>
|
|
</remarks>
|
|
<value>The message converter.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.MessageListenerAdapter.MessageQueueTemplate">
|
|
<summary>
|
|
Sets the message queue template.
|
|
</summary>
|
|
<remarks>If not set, will create one for it own internal use whne MessageListenerAdapter is constructed.
|
|
It maybe useful to share an existing instance if you have an extensively configured MessageQueueTemplate.
|
|
</remarks>
|
|
<value>The message queue template.</value>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.NonTransactionalMessageListenerContainer">
|
|
<summary>
|
|
An implementation of a Peeking based MessageListener container that does not surround the
|
|
receive operation with a transaction.
|
|
</summary>
|
|
<remarks>
|
|
Exceptions that occur during message processing are handled by an instance
|
|
of <see cref="T:Spring.Messaging.Listener.IExceptionHandler"/>.
|
|
</remarks>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.NonTransactionalMessageListenerContainer.HandleListenerException(System.Exception,System.Messaging.Message)">
|
|
<summary>
|
|
Handles the listener exception.
|
|
</summary>
|
|
<param name="e">The exception.</param>
|
|
<param name="message">The message delivered that resultd in an processing exception.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.NonTransactionalMessageListenerContainer.DoReceiveAndExecute(System.Messaging.MessageQueue)">
|
|
<summary>
|
|
Perform a receive opertion on the message queue and execute the
|
|
message listener
|
|
</summary>
|
|
<param name="mq">The MessageQueue.</param>
|
|
<returns>
|
|
true if received a message, false otherwise
|
|
</returns>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.NonTransactionalMessageListenerContainer.ExceptionHandler">
|
|
<summary>
|
|
Gets or sets the exception handler.
|
|
</summary>
|
|
<value>The exception handler.</value>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.SendToQueueDistributedTransactionExceptionHandler">
|
|
<summary>
|
|
detects poison messages by tracking the Message Id property in memory with a count of how many
|
|
times an exception has occurred. If that count is greater than the handler's MaxRetry count it
|
|
will be sent to another queue. The queue to send the message to is specified via the property M
|
|
essageQueueObjectName.
|
|
</summary>
|
|
<remarks>Exception handler when using DistributedTxMessageListenerContainer</remarks>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.SendToQueueDistributedTransactionExceptionHandler.IsPoisonMessage(System.Messaging.Message)">
|
|
<summary>
|
|
Determines whether the incoming message is a poison message. This method is
|
|
called before the <see cref="T:Spring.Messaging.Listener.IMessageListener"/> is invoked.
|
|
</summary>
|
|
<param name="message">The incoming message.</param>
|
|
<returns>
|
|
<c>true</c> if it is a poison message; otherwise, <c>false</c>.
|
|
</returns>
|
|
<remarks>
|
|
The <see cref="T:Spring.Messaging.Listener.DistributedTxMessageListenerContainer"/> will call
|
|
<see cref="M:Spring.Messaging.Listener.SendToQueueDistributedTransactionExceptionHandler.HandlePoisonMessage(System.Messaging.Message)"/> if this method returns true and will
|
|
then commit the distibuted transaction (removing the message from the queue).
|
|
</remarks>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.SendToQueueDistributedTransactionExceptionHandler.HandlePoisonMessage(System.Messaging.Message)">
|
|
<summary>
|
|
Handles the poison message.
|
|
</summary>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.SendToQueueDistributedTransactionExceptionHandler.OnException(System.Exception,System.Messaging.Message)">
|
|
<summary>
|
|
Called when an exception is thrown in listener processing.
|
|
</summary>
|
|
<param name="exception">The exception.</param>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.SendToQueueDistributedTransactionExceptionHandler.SendMessageToQueue(System.Messaging.Message)">
|
|
<summary>
|
|
Sends the message to queue.
|
|
</summary>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.SendToQueueExceptionHandler">
|
|
<summary>
|
|
Keeps track of the Message's Id property in memory with a count of how many times an
|
|
exception has occurred. If that count is greater than the handler's MaxRetry count it
|
|
will be sent to another queue using the provided MessageQueueTransaction. The queue to
|
|
send the message to is specified via the property MessageQueueObjectName.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.SendToQueueExceptionHandler.OnException(System.Exception,System.Messaging.Message,System.Messaging.MessageQueueTransaction)">
|
|
<summary>
|
|
Called when an exception is thrown during listener processing under the
|
|
scope of a <see cref="T:System.Messaging.MessageQueueTransaction"/>.
|
|
</summary>
|
|
<param name="exception">The exception.</param>
|
|
<param name="message">The message.</param>
|
|
<param name="messageQueueTransaction">The message queue transaction.</param>
|
|
<returns>
|
|
An action indicating if the caller should commit or rollback the
|
|
<see cref="T:System.Messaging.MessageQueueTransaction"/>
|
|
</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.SendToQueueExceptionHandler.IsMessageAlreadyProcessedException(System.Exception)">
|
|
<summary>
|
|
Determines whether this exception was already processed.
|
|
</summary>
|
|
<param name="exception">The exception.</param>
|
|
<returns>
|
|
<c>true</c> if the exception was already processed; otherwise, <c>false</c>.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.SendToQueueExceptionHandler.SendMessageToQueue(System.Messaging.Message,System.Messaging.MessageQueueTransaction)">
|
|
<summary>
|
|
Sends the message to queue.
|
|
</summary>
|
|
<param name="message">The message.</param>
|
|
<param name="messageQueueTransaction">The message queue transaction.</param>
|
|
<returns>TransactionAction.Commit</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.SendToQueueExceptionHandler.ProcessExceptionalMessage(System.Messaging.Message)">
|
|
<summary>
|
|
Template method called before the message that caused the exception is
|
|
send to another queue. The default behavior is to set the CorrelationId
|
|
to the current message's Id value for tracking purposes. Subclasses
|
|
can use other means, perhaps using the AppSpecific field or modifying the
|
|
body of the message to a known shared format that keeps track of
|
|
the full 'lifecycle' of the message as it goes from queue-to-queue.
|
|
</summary>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.SendToQueueExceptionHandler.MessageAlreadyProcessedExceptionNames">
|
|
<summary>
|
|
Gets or sets the exception anmes that indicate the message has already
|
|
been processed. If the exception thrown matches one of these names then
|
|
the returned TransactionAction is Commit to remove it from the queue.
|
|
</summary>
|
|
<remarks>The name test is thrownException.GetType().Name.IndexOf(exceptionName) >= 0</remarks>
|
|
<value>The message already processed exception types.</value>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.TransactionAction">
|
|
<summary>
|
|
Action to perform on the MessageQueueTransaction when handling message listener exceptions.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Spring.Messaging.Listener.TransactionAction.Rollback">
|
|
<summary>
|
|
Rollback the MessageQueueTransaction, returning the recieved message back onto the queue.
|
|
</summary>
|
|
</member>
|
|
<member name="F:Spring.Messaging.Listener.TransactionAction.Commit">
|
|
<summary>
|
|
Commit the MessageQueueTransaction, removing the message from the queue.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Listener.TransactionalMessageListenerContainer">
|
|
<summary>
|
|
A MessageListenerContainer that uses local (non-DTC) based transactions. Exceptions are
|
|
handled by instances of <see cref="T:Spring.Messaging.Listener.IMessageTransactionExceptionHandler"/>.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
This container distinguishes between two types of <see cref="T:Spring.Transaction.IPlatformTransactionManager"/>
|
|
implementations.
|
|
</para>
|
|
<para>If you specify a <see cref="T:Spring.Messaging.Core.MessageQueueTransactionManager"/> then
|
|
a MSMQ <see cref="T:System.Messaging.MessageQueueTransaction"/> will be started
|
|
before receiving the message and used as part of the container's recieve operation. The
|
|
<see cref="T:Spring.Messaging.Core.MessageQueueTransactionManager"/> binds the <see cref="T:System.Messaging.MessageQueueTransaction"/>
|
|
to thread local storage and as such will implicitly be used by
|
|
<see cref="T:Spring.Messaging.Core.MessageQueueTemplate"/> send and receive operations to a transactional queue.
|
|
</para>
|
|
<para>
|
|
Service layer operations that are called inside the message listener will typically
|
|
be transactional based on using standard Spring declarative transaction management
|
|
functionality. In case of exceptions in the service layer, the database operation
|
|
will have been rolled back and the <see cref="T:Spring.Messaging.Listener.IMessageTransactionExceptionHandler"/>
|
|
that is later invoked should decide to either commit the surrounding local
|
|
MSMQ based transaction (removing the message from the queue) or to rollback
|
|
(placing the message back on the queue for redelivery).
|
|
</para>
|
|
<para>
|
|
The use of a transactional service layer in combination with
|
|
a container managed <see cref="T:System.Messaging.MessageQueueTransaction"/> is a powerful combination
|
|
that can be used to achieve "exactly one" transaction message processing with
|
|
database operations that are commonly associated with using transactional messaging and
|
|
distributed transactions (i.e. both the messaging and database operation commit or rollback
|
|
together).
|
|
</para>
|
|
<para>
|
|
The additional programming logic needed to achieve this is to keep track of the Message.Id
|
|
that has been processed successfully within the transactional service layer.
|
|
This is needed as there may be a system failure (e.g. power goes off)
|
|
between the 'inner' database commit and the 'outer' messaging commit, resulting
|
|
in message redelivery. The transactional service layer needs logic to detect if incoming
|
|
message was processed successfully. It can do this by checking the database for an
|
|
indication of successfull processing, perhaps by recording the Message.Id itself in a
|
|
status table. If the transactional service layer determines that the message has
|
|
already been processed, it can throw a specific exception for thise case. The
|
|
container's exception handler will recognize this exception type and vote to commit
|
|
(remove from the queue) the 'outer' messaging transaction.
|
|
Spring provides an exception handler with this functionality,
|
|
see <see cref="T:Spring.Messaging.Listener.SendToQueueExceptionHandler"/> for more information.
|
|
</para>
|
|
<para>If you specify an implementation of <see cref="T:Spring.Transaction.Support.IResourceTransactionManager"/>
|
|
(e.g. <see cref="T:Spring.Data.Core.AdoPlatformTransactionManager"/> or HibernateTransactionManager) then
|
|
an local database transaction will be started before receiving the message. By default,
|
|
the container will also start a local <see cref="T:System.Messaging.MessageQueueTransaction"/>
|
|
after the local database transaction has started, but before the receiving the message.
|
|
The <see cref="T:System.Messaging.MessageQueueTransaction"/> will be used to receive the message.
|
|
If you do not want his behavior set <see cref="P:Spring.Messaging.Listener.TransactionalMessageListenerContainer.UseContainerManagedMessageQueueTransaction"/>
|
|
to false. Also by default, the <see cref="T:System.Messaging.MessageQueueTransaction"/>
|
|
will be bound to thread local storage such that any <see cref="T:Spring.Messaging.Core.MessageQueueTemplate"/>
|
|
send or recieve operations will participate transparently in the same
|
|
<see cref="T:System.Messaging.MessageQueueTransaction"/>. If you do not want this behavior
|
|
set the property <see cref="P:Spring.Messaging.Listener.TransactionalMessageListenerContainer.ExposeContainerManagedMessageQueueTransaction"/> to false.
|
|
</para>
|
|
<para>In case of exceptions during <see cref="T:Spring.Messaging.Listener.IMessageListener"/> processing
|
|
when using an implementation of
|
|
<see cref="T:Spring.Transaction.Support.IResourceTransactionManager"/> (e.g. and starting a container managed
|
|
<see cref="T:System.Messaging.MessageQueueTransaction"/>) the container's
|
|
<see cref="T:Spring.Messaging.Listener.IMessageTransactionExceptionHandler"/> will determine if the
|
|
<see cref="T:System.Messaging.MessageQueueTransaction"/> should commit (removing it from the queue)
|
|
or rollback (placing it back on the queue for redelivery). The listener
|
|
exception will always
|
|
trigger a rollback in the 'outer' (e.g. <see cref="T:Spring.Data.Core.AdoPlatformTransactionManager"/>
|
|
or HibernateTransactionManager) based transaction.
|
|
</para>
|
|
<para>
|
|
PoisonMessage handing, that is endless redelivery of a message due to exceptions
|
|
during processing, can be detected using implementatons of the
|
|
<see cref="T:Spring.Messaging.Listener.IMessageTransactionExceptionHandler"/> interface. A specific implementation
|
|
is provided that will move the poison message to another queue after a maximum number
|
|
of redelivery attempts. See <see cref="T:Spring.Messaging.Listener.SendToQueueExceptionHandler"/> for more information.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.TransactionalMessageListenerContainer.Initialize">
|
|
<summary>
|
|
Determine if the container should create its own
|
|
MessageQueueTransaction when a IResourceTransactionManager is specified.
|
|
Set the transaction name to the name of the spring object.
|
|
Call base class Initialize() funtionality
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.TransactionalMessageListenerContainer.DoReceiveAndExecuteUsingPlatformTransactionManager(System.Messaging.MessageQueue,Spring.Transaction.ITransactionStatus)">
|
|
<summary>
|
|
Does the receive and execute using platform transaction manager.
|
|
</summary>
|
|
<param name="mq">The message queue.</param>
|
|
<param name="status">The transactional status.</param>
|
|
<returns>
|
|
true if should continue peeking, false otherwise.
|
|
</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.TransactionalMessageListenerContainer.DoRecieveAndExecuteUsingMessageQueueTransactionManager(System.Messaging.MessageQueue,Spring.Transaction.ITransactionStatus)">
|
|
<summary>
|
|
Does the recieve and execute using message queue transaction manager.
|
|
</summary>
|
|
<param name="mq">The message queue.</param>
|
|
<param name="status">The transactional status.</param>
|
|
<returns>true if should continue peeking, false otherise</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.TransactionalMessageListenerContainer.DoRecieveAndExecuteUsingResourceTransactionManagerWithTxQueue(System.Messaging.MessageQueue,Spring.Transaction.ITransactionStatus)">
|
|
<summary>
|
|
Does the recieve and execute using a local MessageQueueTransaction.
|
|
</summary>
|
|
<param name="mq">The mqessage queue.</param>
|
|
<param name="status">The transactional status.</param>
|
|
<returns>true if should continue peeking, false otherwise.</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.TransactionalMessageListenerContainer.HandleTransactionalListenerException(System.Exception,System.Messaging.Message,System.Messaging.MessageQueueTransaction)">
|
|
<summary>
|
|
Handles the transactional listener exception.
|
|
</summary>
|
|
<param name="e">The exception thrown while processing the message.</param>
|
|
<param name="message">The message.</param>
|
|
<param name="messageQueueTransaction">The message queue transaction.</param>
|
|
<returns>The TransactionAction retruned by the TransactionalExceptionListener</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Listener.TransactionalMessageListenerContainer.InvokeTransactionalExceptionListener(System.Exception,System.Messaging.Message,System.Messaging.MessageQueueTransaction)">
|
|
<summary>
|
|
Invokes the transactional exception listener.
|
|
</summary>
|
|
<param name="e">The exception thrown during message processing.</param>
|
|
<param name="message">The message.</param>
|
|
<param name="messageQueueTransaction">The message queue transaction.</param>
|
|
<returns>TransactionAction.Rollback if no exception handler is defined, otherwise the
|
|
TransactionAction returned by the exception handler</returns>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.TransactionalMessageListenerContainer.UseContainerManagedMessageQueueTransaction">
|
|
<summary>
|
|
Gets or sets a value indicating whether the MessageListenerContainer should be
|
|
responsible for creating a MessageQueueTransaction
|
|
when receiving a message.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
Creating MessageQueueTransactions is usually the responsibility of the
|
|
IPlatformTransactionManager, e.g. TxScopePlatformTransactionManager (when using DTC)
|
|
or MessageQueueTransactionManager (when using local messaging transactions).
|
|
</para>
|
|
<para>
|
|
For all other IPlatformTransactionManager implementations, including when none is
|
|
specified, the MessageListenerContainer will itself create a MessageQueueTransaction
|
|
(assuming the container is consuming from a transactional queue).
|
|
</para>
|
|
<para>
|
|
Set the ExposeContainerManagedMessageQueueTransaction property to true if you want
|
|
the MessageQueueTransaction to be exposed to Spring's MessageQueueTemplate class
|
|
</para>
|
|
</remarks>
|
|
<value>
|
|
<c>true</c> to use a container managed MessageQueueTransaction; otherwise, <c>false</c>.
|
|
</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.TransactionalMessageListenerContainer.ExposeContainerManagedMessageQueueTransaction">
|
|
<summary>
|
|
Gets or sets a value indicating whether expose the
|
|
container managed <see cref="T:System.Messaging.MessageQueueTransaction"/> to thread local storage
|
|
where it will be automatically used by <see cref="T:Spring.Messaging.Core.MessageQueueTemplate"/> send
|
|
and receive operations.
|
|
</summary>
|
|
<remarks>
|
|
Using an <see cref="T:Spring.Messaging.Core.MessageQueueTransactionManager"/> will always exposes a
|
|
<see cref="T:System.Messaging.MessageQueueTransaction"/> to thread local storage. This property
|
|
only has effect when using a non-DTC based
|
|
</remarks>
|
|
<value>
|
|
<c>true</c> if [expose container managed message queue transaction]; otherwise, <c>false</c>.
|
|
</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Listener.TransactionalMessageListenerContainer.MessageTransactionExceptionHandler">
|
|
<summary>
|
|
Gets or sets the message transaction exception handler.
|
|
</summary>
|
|
<value>The message transaction exception handler.</value>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Support.Converters.ActiveXMessageConverter">
|
|
<summary>
|
|
An <see cref="T:Spring.Messaging.Support.Converters.IMessageConverter"/> implementation that delegates to an instance of
|
|
<see cref="T:System.Messaging.ActiveXMessageFormatter"/> to convert messages.
|
|
</summary>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Support.Converters.IMessageConverter">
|
|
<summary>
|
|
An interface specifying the contract to convert to and from <see cref="T:System.Messaging.Message"/> objects.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.IMessageConverter.ToMessage(System.Object)">
|
|
<summary>
|
|
Convert the given object to a Message.
|
|
</summary>
|
|
<param name="obj">The object to send.</param>
|
|
<returns>Message to send</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.IMessageConverter.FromMessage(System.Messaging.Message)">
|
|
<summary>
|
|
Convert the given message to a object.
|
|
</summary>
|
|
<param name="message">The message.</param>
|
|
<returns>the object</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.ActiveXMessageConverter.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:Spring.Messaging.Support.Converters.ActiveXMessageConverter"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.ActiveXMessageConverter.#ctor(System.Messaging.ActiveXMessageFormatter)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:Spring.Messaging.Support.Converters.ActiveXMessageConverter"/> class.
|
|
</summary>
|
|
<param name="messageFormatter">The message formatter.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.ActiveXMessageConverter.ToMessage(System.Object)">
|
|
<summary>
|
|
Convert the given object to a Message.
|
|
</summary>
|
|
<param name="obj">The object to send.</param>
|
|
<returns>Message to send</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.ActiveXMessageConverter.FromMessage(System.Messaging.Message)">
|
|
<summary>
|
|
Convert the given message to a object.
|
|
</summary>
|
|
<param name="message">The message.</param>
|
|
<returns>the object</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.ActiveXMessageConverter.Clone">
|
|
<summary>
|
|
Creates a new object that is a copy of the current instance.
|
|
</summary>
|
|
<returns>
|
|
A new object that is a copy of this instance.
|
|
</returns>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Support.Converters.BinaryMessageConverter">
|
|
<summary>
|
|
An <see cref="T:Spring.Messaging.Support.Converters.IMessageConverter"/> implementation that delegates to an instance of
|
|
<see cref="T:System.Messaging.BinaryMessageFormatter"/> to convert messages.
|
|
</summary>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.BinaryMessageConverter.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:Spring.Messaging.Support.Converters.BinaryMessageConverter"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.BinaryMessageConverter.#ctor(System.Messaging.BinaryMessageFormatter)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:Spring.Messaging.Support.Converters.BinaryMessageConverter"/> class.
|
|
</summary>
|
|
<param name="binaryMessageFormatter">The binary message formatter.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.BinaryMessageConverter.ToMessage(System.Object)">
|
|
<summary>
|
|
Convert the given object to a Message using the <see cref="T:System.Messaging.BinaryMessageFormatter"/>
|
|
</summary>
|
|
<param name="obj">The object to send.</param>
|
|
<returns>Message to send</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.BinaryMessageConverter.FromMessage(System.Messaging.Message)">
|
|
<summary>
|
|
Convert the given message to a object using the <see cref="T:System.Messaging.BinaryMessageFormatter"/>
|
|
</summary>
|
|
<param name="message">The message.</param>
|
|
<returns>the object</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.BinaryMessageConverter.Clone">
|
|
<summary>
|
|
Creates a new object that is a copy of the current instance.
|
|
</summary>
|
|
<returns>
|
|
A new object that is a copy of this instance.
|
|
</returns>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.Converters.BinaryMessageConverter.TypeFormat">
|
|
<summary>
|
|
Gets or sets the type format used in the <see cref="T:System.Messaging.BinaryMessageFormatter"/>
|
|
</summary>
|
|
<value>The type format.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.Converters.BinaryMessageConverter.TopObjectFormat">
|
|
<summary>
|
|
Gets or sets the top object format used in the <see cref="T:System.Messaging.BinaryMessageFormatter"/>
|
|
</summary>
|
|
<value>The top object format.</value>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Support.Converters.MessageConverterCreatorDelegate">
|
|
<summary>
|
|
Delegate for creating IMessageConverter instance. Used by <see cref="T:Spring.Messaging.Core.DefaultMessageQueueFactory"/>
|
|
to register a creation function with a given name.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Support.Converters.MessageConverterFactoryObject">
|
|
<summary>
|
|
Internal class to that users can specify a delegate function to register with the application context that
|
|
will create a IMessageConverter instance easily at runtime.
|
|
</summary>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.Converters.MessageConverterFactoryObject.ProductTemplate">
|
|
<summary>
|
|
Gets the template object definition that should be used
|
|
to configure the instance of the object managed by this factory.
|
|
</summary>
|
|
<value>The object definition to configure the factory's product</value>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Support.Converters.XmlDocumentConverter">
|
|
<summary>
|
|
Converts an <see cref="T:System.Xml.XmlDocument"/> to a Message and vice-versa by using the message's
|
|
body stream.
|
|
</summary>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.XmlDocumentConverter.ToMessage(System.Object)">
|
|
<summary>
|
|
Convert the given object to a Message.
|
|
</summary>
|
|
<param name="obj">The object to send.</param>
|
|
<returns>Message to send</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.XmlDocumentConverter.FromMessage(System.Messaging.Message)">
|
|
<summary>
|
|
Convert the given message to a object.
|
|
</summary>
|
|
<param name="message">The message.</param>
|
|
<returns>the object</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.XmlDocumentConverter.Clone">
|
|
<summary>
|
|
Creates a new object that is a copy of the current instance.
|
|
</summary>
|
|
<returns>
|
|
A new object that is a copy of this instance.
|
|
</returns>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Support.Converters.XmlMessageConverter">
|
|
<summary>
|
|
An <see cref="T:Spring.Messaging.Support.Converters.IMessageConverter"/> implementation that delegates to an instance of
|
|
<see cref="T:System.Messaging.XmlMessageFormatter"/> to convert messages.
|
|
</summary>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.XmlMessageConverter.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:Spring.Messaging.Support.Converters.XmlMessageConverter"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.XmlMessageConverter.#ctor(System.Messaging.XmlMessageFormatter)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:Spring.Messaging.Support.Converters.XmlMessageConverter"/> class.
|
|
</summary>
|
|
<param name="messageFormatter">The message formatter.</param>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.XmlMessageConverter.ToMessage(System.Object)">
|
|
<summary>
|
|
Convert the given object to a Message.
|
|
</summary>
|
|
<param name="obj">The object to send.</param>
|
|
<returns>Message to send</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.XmlMessageConverter.FromMessage(System.Messaging.Message)">
|
|
<summary>
|
|
Convert the given message to a object.
|
|
</summary>
|
|
<param name="message">The message.</param>
|
|
<returns>the object</returns>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.Converters.XmlMessageConverter.Clone">
|
|
<summary>
|
|
Creates a new object that is a copy of the current instance.
|
|
</summary>
|
|
<returns>
|
|
A new object that is a copy of this instance.
|
|
</returns>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.Converters.XmlMessageConverter.TargetTypes">
|
|
<summary>
|
|
Gets or sets the target types used by the <see cref="T:System.Messaging.XmlMessageFormatter"/>
|
|
</summary>
|
|
<value>The target types.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.Converters.XmlMessageConverter.TargetTypeNames">
|
|
<summary>
|
|
Gets or sets the target type names used by the <see cref="T:System.Messaging.XmlMessageFormatter"/>
|
|
</summary>
|
|
<value>The target type names.</value>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Support.MessageQueueCreatorDelegate">
|
|
<summary>
|
|
Delegate for creating MessageQueue instance. Used by <see cref="T:Spring.Messaging.Core.DefaultMessageQueueFactory"/>
|
|
to register a creation function with a given name.
|
|
</summary>
|
|
</member>
|
|
<member name="T:Spring.Messaging.Support.MessageQueueFactoryObject">
|
|
<summary>
|
|
Factory for creating MessageQueues. This factory will create prototype instances, i.e. every call to GetObject
|
|
will return a new MessageQueue object.
|
|
</summary>
|
|
<remarks>All MessageQueue constructor arguments are exposed as properties of the factory object. As this
|
|
is a <see cref="T:Spring.Objects.Factory.Config.IConfigurableFactoryObject"/> use the PropertyTemplate property to specify additional
|
|
configuration of the MessageQueue.
|
|
</remarks>
|
|
<author>Mark Pollack</author>
|
|
</member>
|
|
<member name="M:Spring.Messaging.Support.MessageQueueFactoryObject.GetObject">
|
|
<summary>
|
|
Retrun a configured MessageQueue object.
|
|
</summary>
|
|
<returns>A newly configured MessageQueue object</returns>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.MessageQueueFactoryObject.MessageCreatorDelegate">
|
|
<summary>
|
|
Gets or sets an instance of the MessageQueueCreator delegate that will be used to create the
|
|
MessageQueue object, instead of using the various public properties on this class such
|
|
as Path, AccessMode, etc. Not intended for end-users but rather as a means to help
|
|
register MessageQueueFactoryObject at runtime using convenience method on the IMessageQueueFactory.
|
|
</summary>
|
|
<remarks>
|
|
Can also be specifed using an instance of MessageCreatorDelegate. If both are specifed, the
|
|
Interface implementation has priority.
|
|
</remarks>
|
|
<value>The function that is responsbile for creating a message queue.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.MessageQueueFactoryObject.Path">
|
|
<summary>
|
|
Gets or sets the path used to create a MessageQueue instance.
|
|
</summary>
|
|
<value>The location of the queue.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.MessageQueueFactoryObject.DenySharedReceive">
|
|
<summary>
|
|
Gets or sets a value indicating whether to create the MessageQueue instance with
|
|
exclusive read access to the first application that accesses the queue
|
|
</summary>
|
|
<value>
|
|
<c>true</c> to grant exclusive read access to the first application that accesses the queue; otherwise, <c>false</c>.
|
|
</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.MessageQueueFactoryObject.AccessMode">
|
|
<summary>
|
|
Gets or sets the queue access mode.
|
|
</summary>
|
|
<value>The queue access mode.</value>
|
|
<see cref="P:Spring.Messaging.Support.MessageQueueFactoryObject.AccessMode"/>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.MessageQueueFactoryObject.EnableCache">
|
|
<summary>
|
|
Gets or sets a value indicating whether [enable cache].
|
|
</summary>
|
|
<value><c>true</c> to create and use a connection cache; otherwise <c>false</c>.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.MessageQueueFactoryObject.EnableConnectionCache">
|
|
<summary>
|
|
Sets a value indicating whether to enable connection cache. The default is false, which
|
|
is different than the default value when creating a System.Messaging.MessageQueue object.
|
|
</summary>
|
|
<value>
|
|
<c>true</c> if enable connection cache; otherwise, <c>false</c>.
|
|
</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.MessageQueueFactoryObject.MessageReadPropertyFilterSetAll">
|
|
<summary>
|
|
Sets a value indicating whether to retrieve all message properties when receiving a message.
|
|
</summary>
|
|
<value>
|
|
<c>true</c> if should etrieve all message properties when receiving a message; otherwise, <c>false</c>.
|
|
</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.MessageQueueFactoryObject.MessageReadPropertyFilterSetDefaults">
|
|
<summary>
|
|
Sets a value indicating whether to set the filter values of common Message Queuing properties
|
|
to true and the integer-valued properties to their default values..
|
|
</summary>
|
|
<value>
|
|
<c>true</c> if should set the filter values of common Message Queuing properties; otherwise, <c>false</c>.
|
|
</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.MessageQueueFactoryObject.RemoteQueue">
|
|
<summary>
|
|
Gets or sets a value indicating whether the queue is a remote queue.
|
|
</summary>
|
|
<remarks>
|
|
The operations that one can perform on the MessageQueue depend on if it is local or remote, for
|
|
example checking if it is transactional. This is very difficult to determine programmatically.
|
|
The property was made virtual so it can be overridden to take into account custom heuristics you
|
|
may want to use to determine this programmatically.
|
|
</remarks>
|
|
<value><c>true</c> if remote queue; otherwise, <c>false</c>.</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.MessageQueueFactoryObject.RemoteQueueIsTransactional">
|
|
<summary>
|
|
Gets or sets a value indicating whether the remote queue is transactional.
|
|
</summary>
|
|
<value>
|
|
<c>true</c> if the remote queue is transactional; otherwise, <c>false</c>.
|
|
</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.MessageQueueFactoryObject.ObjectType">
|
|
<summary>
|
|
Return the <see cref="T:System.Type"/> of object that this
|
|
<see cref="T:Spring.Objects.Factory.IFactoryObject"/> creates, or
|
|
<see langword="null"/> if not known in advance.
|
|
</summary>
|
|
<value>The type System.Messaging.MessageQueue</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.MessageQueueFactoryObject.IsSingleton">
|
|
<summary>
|
|
Is the object managed by this factory a singleton or a prototype?
|
|
</summary>
|
|
<value>return false, a new object will be created for each request of the object</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.MessageQueueFactoryObject.ProductTemplate">
|
|
<summary>
|
|
Gets the template object definition that should be used
|
|
to configure the instance of the object managed by this factory.
|
|
</summary>
|
|
<value>The object definition to configure the factory's product</value>
|
|
</member>
|
|
<member name="P:Spring.Messaging.Support.MessageQueueFactoryObject.ObjectName">
|
|
<summary>
|
|
Set the name of the object in the object factory that created this object.
|
|
</summary>
|
|
<value>The name of the object in the factory.</value>
|
|
<remarks>
|
|
<p>
|
|
Invoked after population of normal object properties but before an init
|
|
callback like <see cref="T:Spring.Objects.Factory.IInitializingObject"/>'s
|
|
<see cref="M:Spring.Objects.Factory.IInitializingObject.AfterPropertiesSet"/>
|
|
method or a custom init-method.
|
|
</p>
|
|
</remarks>
|
|
</member>
|
|
</members>
|
|
</doc>
|