2015-04-07 5 views
0

Мы недавно обновили наш проект NServiceBus с версии 4 до версии 5. Мы используем NHibernate для хранения данных в базе данных SQL-сервера. Начиная с обновления, мы начали сталкиваться с ошибкой в ​​отношении тайм-аутов соединения и таблицы TimeoutEntity. Службы NServiceBus работают нормально какое-то время - по крайней мере, пару часов, а затем они останавливаются.NServiceBus v5 Автоматический выключатель

При расследовании причины этого, похоже, до запроса опроса в таблицу TimeoutEntity - запрос выполняется каждую минуту, и если запрос занимает более 2 секунд, чтобы завершить ошибку, возникает критический вызов CriticalError.Raise - это приводит к остановке службы NServiceBus.

Один из путей расследования - выяснить причину тайм-аутов, но мы также хотели бы знать, почему эта функциональность была изменена - в предыдущей версии NServiceBus, Logger.Warn был вызван, а не CriticalError.Raise. Кто-нибудь знает, почему это изменение было внесено в NServiceBus 5 и что мы можем сделать для его смягчения?

ответ

0

Вы также можете определить собственную критическую ошибку действие с помощью

config.DefineCriticalErrorAction((message, exception) => { 
    <do something here> 
});