【发布时间】:2014-02-12 14:21:08
【问题描述】:
什么?
我有一个私有 MSMQ 事务队列,我需要导出所有 (600k) 消息,清除然后将消息导入回队列。导入这些消息时,我目前正在使用单个事务并收到资源不足错误。我可以切换到使用多个事务,但我需要一种方法来计算我可以在单个事务中处理多少条消息,有什么想法吗?
为什么?
如果我们不定期执行此操作,.mq 文件会变得臃肿和碎片化。如果有其他方法可以解决此问题,请告诉我。
【问题讨论】:
-
队列中通常有多少条消息?通过消耗所有消息来清除队列通常允许该活动自行发生。
-
每个月都有变化,但最多可以收到 600k 条消息。到目前为止,除了清空队列然后将消息放回之外,我们还没有找到其他方法来对 .mq 文件进行碎片整理/收缩。
-
是的。真的没有。 MSMQ 被设计为工作的方式,队列应该经常是空的。听起来您更多地将 MSMQ 用于存储而不是传输中的数据。如果可以的话,我会考虑在将来的某个时候将这些数据移出 MSMQ。
-
等等,一个交易有60万条消息?
标签: msmq