2015-06-22 1 views
0

У меня есть MyMessageHandler, который управляется хост-процессом NServiceBus. Ручка хранит сообщение в базе данных.Есть ли способ запустить несколько экземпляров дескриптора сообщения в NServiceBus

Есть ли способ сообщить процессу хоста NServiceBus параллельное выполнение нескольких экземпляров процесса/задачи MyMessageHandler, чтобы мы могли увеличить пропускную способность сообщений.

public class MyMessageHandler : IHandleMessages<MyMessage> 
{ 
    public void Handle(MyMessage message) 
    { 
     // Sync call store message into the database   
    } 
} 

Ответ здесь NServicebus - One endpoint multiple handlers threading

ответ

0

Одним из решений этой проблемы было бы использовать настраиваемую установку MaximumConcurrencyLevel. Документация от NServiceBus для этой функции находится здесь: http://docs.particular.net/nservicebus/msmq/transportconfig#configuration-failure-handling-amp-throttling

Значение по умолчанию: 1. Если вы измените MaximumConcurrencyLevel 5, NServiceBus будет одновременно выполнять обработчик 5 раз и обернуть каждый экземпляр в его собственной DTC для обработки сбоев/успехов в отдельности.