当您超过MSMQ日记帐限制时会发生什么情况?

如果在MSMQ专用队列上启用了日志,并且具有存储限制(例如,100千字节),那么当超过该限制时会发生什么情况? 你能configuration这种行为吗?

特别:

  • 消息是否仍然可以写入队列?
  • 这些信息会被写入日记吗?
  • 已经写入日志的旧邮件会发生什么?

人们似乎暗示设置一个限制是日志增长和超过服务器资源的风险的一个解决scheme,但是我没有发现任何人解释超过限制时会发生什么。

在我们自己的(非常有限的)testing中,似乎只是把信息停止写在日记本上。 (即,当期刊队列达到限制时,旧的消息仍然在期刊中,但是对于所有未来的消息,该期刊被有效地closures)。

是的,日记将停止为新的日记信息工作。 日记消息应该像其他消息一样被处理,所以不应该被允许累积。

我发现完整的杂志甚至可以阻止接收消息,而不仅仅是将它们移动到日记的报告:

https://social.msdn.microsoft.com/Forums/ie/en-US/58e12d5a-acf3-4c67-a02a-9fa7528a5912/msmq-journal-full

然而,这可能是因为MSMQ在那个时候达到了一些其他配额,可能是所有队列的全局存储限制,而不仅仅是因为日记。 我不能仅仅通过限制日记来复制它。 但是,不要让杂志成长太多,这是好主意。

顺便说一句。 我们制作了可定期备份和清空日志的商业工具, QueueMonitor等等