【发布时间】:2015-04-07 12:32:25
【问题描述】:
我们最近将 NServiceBus 项目从版本 4 升级到版本 5。我们使用 NHibernate 将数据存储到 SQL 服务器数据库。自升级以来,我们开始遇到连接超时和 TimeoutEntity 表的错误。 NServiceBus 服务可以正常运行一段时间 - 至少几个小时,然后它们就会停止。
在调查此问题的原因时,它似乎是对 TimeoutEntity 表的轮询查询 - 查询每分钟完成一次,如果查询需要超过 2 秒才能完成,则会引发错误并调用 CriticalError.Raise -这会导致 NServiceBus 停止服务。
调查的一个途径是找出超时的原因,但我们也想知道为什么这个功能被改变了——在以前的 NServiceBus 版本中,Logger.Warn 被调用而不是 CriticalError.Raise。有谁知道为什么在 NServiceBus 5 中做出这种改变以及我们可以做些什么来缓解它?
【问题讨论】:
标签: nhibernate nservicebus nservicebus5