2

我在 Windows Server 2008 R2 服务器上有一个事务性私人消息队列(在我没有看到此问题的其他消息队列中)。

这个特定队列每隔几周就会出现一个反复出现的问题,控制台显示队列中的消息计数非零,但队列本身或任何子队列中没有任何消息。队列资源管理器显示相同的内容。性能计数器指示在内置 msmq 控制台和队列资源管理器中有类似计数的消息。

我找不到任何消息。我知道对于带有死信跟踪的传出队列,我可能会看到这样的情况,这样它可能已被传递到远程计算机但尚未处理。不过,这不是一个传出队列。消息来自远程机器,并已到达此机器。

另外,我确定我看到的计数不是日志消息或子队列。

这有道理吗?对此有合乎逻辑的解释吗?在某些情况下,这是可以预期的吗?如果是这样,它是什么?

编辑:删除了有关清除队列删除计数的信息-这是不正确的。清除实际上什么也没做,让我处于与以前相同的状态,并反映了计数,但没有显示任何消息。

4

1 回答 1

1

如您所述,如果正在使用源日志,您可以在传出队列上看到消息计数。不可见的消息在那里,以防它们需要移动到 DLQ。

我希望您的问题类似 - 传出队列中应该有一条可见的消息,而目标队列中应该有一条不可见的消息,因为传递尚未完成。我假设在此过程中已经丢失了握手或存储确认。或者,消息可能已被处理并从队列中删除,但 MSMQ 无法更新事实的发送者。

检查发送到此队列的远程计算机上的传出队列。

于 2013-06-12T12:18:11.977 回答