Иногда, когда я разрабатываю в IIB, я замечаю, что он перестает что-либо читать из очереди. Мой обходной путь — создать новую очередь и использовать ее до тех пор, пока она не перестанет работать. Я уверен, что это особенность IIB. Как отключить его для разработки?
IIB прекращает чтение из очереди
Ответы (4)
Вы должны установить назначение возврата на своем узле JMSInput или узле MQInput. Пока у вас есть какие-то ошибки, он перестает читать что-либо из очереди, потому что вы не установили backout-queue.
Проверьте количество слушателей, работающих в очереди, в параметре количества открытых входов. Если он равен 0, это означает, что слушатели не работают, иначе поток где-то застрял.
Предоставьте более подробную информацию о том, когда именно поток прекращает чтение из очереди для конкретного ответа. На первый взгляд кажется, что вы можете получить исключение в своем потоке, а терминал перехвата в вашем узле MQInput не подключен.
Если да, выполните следующие действия:
- Создайте еще одну локальную очередь.
- Обновите имя этой новой очереди в свойстве BOQNAME исходной очереди, из которой считывается ваш поток сообщений.
- Установите значение BOTHRESH в исходной очереди на 1.
Теперь все сообщения, которые получают исключение, будут отправлены в очередь возврата, и ваш поток не прекратит чтение из очереди в случае исключений.
Кажется, что ваш поток не работает при обработке сообщений. В этом случае вам нужно будет создать очередь возврата и настроить очередь для перемещения ошибочных сообщений после предварительно настроенного порога, чтобы позволить вашему потоку попытаться обработать остальные сообщения.