Время жизни сообщений в очереди сообщений - PullRequest
3 голосов
/ 21 февраля 2009

Как вы контролируете время жизни сообщения в очереди сообщений? Каково время жизни по умолчанию? Я попытался запустить очереди сообщений локально и обнаружил, что сообщения исчезают при перезагрузке системы. Не противоречит ли это цели очереди сообщений при создании слабосвязанных приложений. Означает ли это, что когда сообщения отправляются на другой компьютер для обработки, они не будут доступны на следующий день. Некоторое руководство здесь высоко ценится, поскольку мне не ясны эти аспекты системы очередей сообщений.

Ответы [ 2 ]

3 голосов
/ 21 августа 2009

Существует два вида нетранзакционных сообщений. Есть экспресс-сообщение и восстанавливаемое сообщение. Экспресс-сообщение пропадет при перезапуске сервера (или службы msmq, я думаю). Экспресс-сообщение является видом по умолчанию в .net api и com api. Чтобы сделать сообщение постоянным, необходимо установить для свойства Recoverable значение true. Вот объяснение водопроводчика .

Существуют и другие свойства, управляющие временем жизни сообщения. Но их по умолчанию навсегда.

Помните также, что это свойства сообщения, а не свойства очереди.

0 голосов
/ 21 февраля 2009

Для чего вы устанавливаете свойство TimeToBeReceived?

Очереди сообщений хранятся на диске, поэтому перезагрузка не должна избавляться от них, если срок их действия не истек.

Также помните, что если вы отправите сообщение в несуществующую очередь, оно будет отброшено - убедитесь, что вы настроили очередь перед его использованием.

-Adam

...