NServiceBus - 拦截应用程序失败

问题描述

我有以下情况: 我使用 NServiceBus 的应用程序必须与通常不可用的远程 MSsql Server 一起使用,因此应用程序在一段时间后会失败。 有没有办法使用 NServiceBus 拦截该事件并在应用程序关闭之前发送电子邮件(或执行任何其他操作)?

解决方法

NServiceBus 有一些选择,但也有一些警告

  • NServiceBus 可以“捕获”异常、重试消息并通知您其状态。但这只会发生在传入的消息上。换句话说,没有消息就意味着没有通知。
  • 您可以使用心跳和/或自定义检查
  • 这取决于您,但是使用用于监控此类事件的适当软件难道不是一种选择吗?

我假设您没有使用远程 SQL Server 作为传输方式,因为这会使事情变得更加困难。

当某些事情失败时,消息会被重试。 NServiceBus 不知道错误的严重程度等,但您可以处理即时、延迟和失败的通知。 Documentation can be found here

您还可以使用心跳来查看 NServiceBus 端点是否仍处于活动状态,或编写自定义检查。更多信息在这里:

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...