2017-02-10 4 views
1

Я работаю над проектом biztalk, где я использую msmq. Проблема в том, что сообщения очереди теряются до получения с помощью biztalk. Я не могу использовать транзакцию в biztalk, так как это уменьшит производительность.
Может ли кто-нибудь предложить мне, почему я столкнулся с этой проблемой и решением для этого? Спасибо заранее!Сообщения о частной очереди MSMQ теряются

+0

Я начал с использования транзакций. Вы доказали, что удар производительности будет слишком большим? –

+0

Да! Поскольку я получаю миллионы файлов из очереди ежедневно. – Amit

+0

Есть ли другой способ обойтись без использования транзакции? И не могли бы вы помочь мне понять, почему эти сообщения теряются? – Amit

ответ

2

Когда сообщения отправляются в очередь не транзакций, они будут потеряны, если перезапуск службы очередей или произойдет какое-то неожиданное событие. Чтобы этого не произошло, вы можете использовать возвращаемое свойство сообщения при отправке сообщения. Это также описано здесь MSDN. Это свойство также поддерживается портом отправки BizTalk MSMQ, если вы отправляете сообщения из BizTalk в очередь.

+1

Стоит отметить, что восстановимые сообщения не гарантируют заказ или доставку точно. Только эти сообщения будут записаны на диск, поэтому они не будут потеряны из памяти при сбое. Если порядок сообщений также важен, вы должны использовать транзакционные очереди. –

Смежные вопросы