Точное поведение зависит от брокера.Я специализируюсь на WebSphere MQ, поэтому я объясню это в этих терминах.Если вы сообщите нам, какой тип брокера вы используете, возможно, кто-то, разбирающийся в этом конкретном брокере, ответит.
С WMQ ограничивающими факторами являются журнал транзакций и срок службы приложения.Если приложение умирает с незавершенной транзакцией, оно откатывается.Помимо этого, транзакция живет в журналах до тех пор, пока пространство журнала не будет исчерпано, и в этот момент транзакция будет откатываться, и приложение получает код причины, указывающий характер ошибки.Если нет других приложений, пишущих в журнал транзакций, транзакция может продолжаться бесконечно.Если QMgr занят, незафиксированные транзакции могут длиться всего несколько секунд, в зависимости от размера и размера журнала.
В WMQ отсутствует тип утечки памяти.Существуют переменные, такие как ограничение количества незафиксированных сообщений, которые не позволяют памяти, дескрипторам и другим ресурсам выйти из-под контроля.