PinkRabbitMQ icon indicating copy to clipboard operation
PinkRabbitMQ copied to clipboard

Не вызывать исключения внутри цикла чтения сообщений.

Open goleaff opened this issue 3 years ago • 1 comments

Если делать так

Клиент = Новый("AddIn.BITERP.PinkRabbitMQ"); ВыходнойПараметр = "";

Попытка Пока Клиент.BasicConsumeMessage(Потребитель, ВыходнойПараметр, Таймаут) Цикл // Работа с компонентой Если Клиент.CorrelationId <> "МОЙ_ИД" Тогда ВызватьИсключение "Ошибка чтения свойств!"; // ТАК ДЕЛАТЬ СТРОГО НЕ РЕКОМЕНДУЕТСЯ!!! КонецЕсли; ВыходнойПараметр = ""; КонецЦикла;

Исключение Клиент = неопределено; КонецПопытки

Это будет корректно? Вызывать исключение в попытке?

goleaff avatar May 14 '21 03:05 goleaff

Нет, будем потеряна память из-за того, что переменная ВыходнойПараметр не очищается. Кроме того возможно будет потеряна память на кеше считанных соообщений, которые хранятся внутри компоненты. Размер кеша считанных сообщений зависит от параметра selectSize метода BasicConsume

ripreal avatar Oct 27 '21 07:10 ripreal