消息从消息队列中消失
Messages disappearing from message queue
在我们的软件中,我们将 Rebus 服务总线与 Microsoft 消息队列结合使用来执行各种操作。由于有时有多种情况,消息被发送到队列,但不知何故,消息没有被处理程序拾取,并且消息从队列中删除(或者它从未到达)。我们在错误队列或死信队列中找不到消息。它丢失在 space 某处,我们不知道发生了什么。
我们在队列上启用了日志,对于失败的消息,我们看到当前中止计数设置为 3,其中成功处理的消息的当前中止计数为 1。这与我们的 rebus 配置一致(见下文),但是我们不知道为什么它们被中止或为什么某些消息失败。在事件日志中也找不到任何内容。
这是我们当前的 rebus 配置:
Configure.With(_adapter).Transport(t => t.UseMsmq(_rpAppBusAddress))
.Options(o =>
{
o.EnableEncryption(_rebusEncryptionKey);
o.SimpleRetryStrategy(maxDeliveryAttempts:3);
o.EnableDataBus().StoreInSqlServer(rebusConnectionString, attachmentDbTableName);
}).Routing(SetRouting())
.Start();
有人知道为什么消息消失了吗?感谢您的帮助!
我们弄清楚了消息消失的原因。该应用程序没有将消息放入错误队列的权限(我们感到羞耻)。
在我们的软件中,我们将 Rebus 服务总线与 Microsoft 消息队列结合使用来执行各种操作。由于有时有多种情况,消息被发送到队列,但不知何故,消息没有被处理程序拾取,并且消息从队列中删除(或者它从未到达)。我们在错误队列或死信队列中找不到消息。它丢失在 space 某处,我们不知道发生了什么。
我们在队列上启用了日志,对于失败的消息,我们看到当前中止计数设置为 3,其中成功处理的消息的当前中止计数为 1。这与我们的 rebus 配置一致(见下文),但是我们不知道为什么它们被中止或为什么某些消息失败。在事件日志中也找不到任何内容。
这是我们当前的 rebus 配置:
Configure.With(_adapter).Transport(t => t.UseMsmq(_rpAppBusAddress))
.Options(o =>
{
o.EnableEncryption(_rebusEncryptionKey);
o.SimpleRetryStrategy(maxDeliveryAttempts:3);
o.EnableDataBus().StoreInSqlServer(rebusConnectionString, attachmentDbTableName);
}).Routing(SetRouting())
.Start();
有人知道为什么消息消失了吗?感谢您的帮助!
我们弄清楚了消息消失的原因。该应用程序没有将消息放入错误队列的权限(我们感到羞耻)。