2017-02-10 159 views
1

我正在使用msmq的biztalk项目。 这里的问题是队列消息在被biztalk接收之前正在丢失。 我不能在biztalk中使用事务,因为它会降低性能。
任何人都可以建议我为什么我面临这个问题和解决方案吗? 在此先感谢!MSMQ私人队列消息丢失

+0

我会首先使用事务。你有没有证明性能打击会太大? –

+0

是的!当我每天从队列中收到数百万个文件时。 – Amit

+0

有没有其他方式可以在没有使用交易的情况下出行?你能帮我理解为什么这些信息会丢失吗? – Amit

回答

2

将消息发送到非事务队列时,如果排队服务重新启动或某些意外事件发生,它们将丢失。为避免这种情况发生,您可以在发送消息时使用消息的Recoverable属性。这也记录在这里MSDN。如果要将消息从BizTalk发送到队列,则此属性也由BizTalk MSMQ发送端口支持。

+1

值得注意的是,可恢复的消息并不能保证订购或准确一次交付。只有这些消息才会写入磁盘,所以在故障时不会从内存中丢失。如果消息顺序也很重要,则应使用事务队列。 –