Время жизни сообщения Service Broker

Если вы помещаете сообщение в очередь брокера службы SQL, есть ли у сообщения какое-то время, чтобы жить, или оно просто будет висеть вечно?

Кажется, я ничего не могу найти по этому поводу. Существует этот пост на форумах SQL Server, где предполагается, что эффективный тайм-аут составляет 30 минут. Однако это с пересылкой сообщений, которая, я не знаю, применима к описанному выше сценарию.


person tom redfern    schedule 25.11.2013    source источник
comment
30 минут относятся к времени пребывания в пробке, т.е. насколько старым может быть входящее сообщение (из сети), которое все еще может быть принято и поставлено в очередь в очередь назначения.   -  person Remus Rusanu    schedule 26.11.2013


Ответы (1)


Он останется в очереди. Если вы определяете LIFETIME в вызове BEGIN CONVERSATION, то брокер откажется принимать сообщения, как только это время будет превышено. Я не уверен, что он делает с сообщениями в очереди, которые он еще не успешно отправил после того, как время жизни истекло.

person Rikalous    schedule 25.11.2013
comment
Спасибо за Ваш ответ - person tom redfern; 26.11.2013
comment
Когда LIFETIME истекает, в очередь ставится сообщение об ошибке. RECEIVE будет отображать сообщения об ошибках в верхней части набора результатов (их порядковый номер -1). Приложения должны выполнить END DIALOG, чтобы сообщения исчезли из очереди, SSB никогда не удалит необработанное сообщение (т.е. находящееся в очереди). - person Remus Rusanu; 26.11.2013