Spring.NET 1.3.0 RC1 for .NET 2.0 API Reference

AbstractPeekingMessageListenerContainer Class

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.

For a list of all members of this type, see AbstractPeekingMessageListenerContainer Members .


[Visual Basic]
Public MustInherit Class AbstractPeekingMessageListenerContainer
    Inherits AbstractMessageListenerContainer
public abstract class AbstractPeekingMessageListenerContainer : AbstractMessageListenerContainer

Thread Safety

Public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread-safe.


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).

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.

The current implementation uses the standard .NET thread pool. Future implementations will use a custom (and pluggable) thread pool.


Namespace: Spring.Messaging.Listener

Assembly: Spring.Messaging (in Spring.Messaging.dll)

See Also

AbstractPeekingMessageListenerContainer Members | Spring.Messaging.Listener Namespace