MaxConcurrentListeners и удаленные транзакционные чтения из MSMQ - PullRequest
0 голосов
/ 04 января 2011

Может ли быть так, что MaxConcurrentListereners на DistributedTxMessageListenerContainer не очень полезны?У меня сложилось впечатление, что только один поток одновременно может обработать сообщение из очереди.Возможно, это логично, поскольку сообщение будет удалено из очереди только после успешного завершения транзакции.Или я здесь не прав?

1 Ответ

2 голосов
/ 25 января 2011

Да, только один поток может получать конкретное сообщение из очереди.
Несколько потоков могут получать сообщения из очереди в любое время, однако.
Когда сообщение транзакционно принимается из очереди, оностановится невидимым для всех других потоков до тех пор, пока транзакция не прервет фиксацию.
Если она прервется, то сообщение снова появится в очереди (снова станет видимым);если он фиксируется, то сообщение физически удаляется из очереди.

Приветствия
Джон Брейквелл

...