Действия отправителя очереди Tibco JMS в состоянии зависания

Мы используем Tibco 5.11 BW и EMS 8.0.0.9 на отдельных виртуальных серверах Windows 2008 R2 6.1.

Периодически примерно один раз в 1-2 месяца случайный процесс tibco BW из случайного пакета tibco BW зависает при активности «JMS Queue Sender». У нас около 80 пакетов Tibco BW и пара сотен процессов в каждом пакете. У большинства процессов внутри действительно простая логика. Процессы используют транспорт Tibco JMS.

Когда возникла проблема, она не выдает никаких ошибок в tra.log или application.log. Я вижу только висящие потоки с текущей активностью «Отправитель очереди JMS» в администраторе Tibco. После того, как активность «JMS Queue Sender» начинает зависать, все процессы из пакета также начинают зависать, и в конечном итоге пакет вообще не отвечает. Перезапуск пакета устраняет проблему.

введите описание изображения здесь

«Активность отправителя JMS» использует очередь TMP в «destinationQueue». Службы можно вызывать из java с помощью tibjms.jar-7.0.1.jar или из другой службы tibco BW с помощью «JMS Queue Requestor».

Вот наш типичный пример службы, которая зависает на «отправителе очереди JMS».

введите описание изображения здесь

Аналогичная проблема описана на форуме tibco, но без решения https://community.tibco.com/questions/jms-queue-sender-hung-state.

зависание «Действия отправителя JMS», вероятно, связано с временной очередью, установленной в ReplayTo. В качестве обходного пути мы меняем временную очередь на статическую, что решает проблему.

Вопрос в том, что вызывает зависание "активности JMS Sender" в случае временной очереди в ReplayTo?

UPD: это может быть связано с

5.14.0: BW-17137 Действия получателя JMS и отправителя JMS, которые использовали один и тот же ресурс подключения, оказались в ситуации мертвой блокировки при повторном подключении к серверу EMS.

5.13.0: BW-16413 Получатель JMS и отправитель JMS, которые использовали один и тот же ресурс подключения, оказались в мертвой блокировке при повторном подключении к серверу EMS.

К сожалению, я вижу только заголовок проблемы в примечания к выпуску 5.14 BW. Я не нашел подробного описания проблемы публично


person David Abragimov    schedule 10.07.2018    source источник
comment
Когда TIBCO EMS создает временную очередь, он должен связаться с сервером EMS для этого. У этого пользователя действительно есть разрешение на создание временной очереди?   -  person Axel Podehl    schedule 09.11.2018
comment
@AxelPodehl работает 99,9% времени для одного и того же пользователя. так что у пользователя есть разрешения. В случае отсутствия разрешений выдает ошибку в журнал процесса. Также, если очередь temporray удаляется до ответа, она также записывает ошибку в журнал процесса. В том случае, если я описал, в журнале ошибок нет, он просто зависает.   -  person David Abragimov    schedule 09.11.2018
comment
Мы также попробовали другой тест с отключением сервера EMS от сети. не повезло с воспроизведением проблемы. он всегда подключается без зависания   -  person David Abragimov    schedule 29.11.2018
comment
Это может быть связано с 5.14.0: BW-17137 Действия получателя JMS и отправителя JMS, которые использовали один и тот же ресурс подключения, попали в ситуацию мертвой блокировки при повторном подключении к серверу EMS. 5.13.0: BW-16413 Получатель JMS и отправитель JMS, которые использовали один и тот же ресурс подключения, оказались в мертвой блокировке при повторном подключении к серверу EMS. К сожалению, я вижу только заголовок проблемы в примечаниях к выпуску для 5.14 BW docs .tibco.com / pub / activematrix_businessworks / 5.14.0 /. Не удалось найти общедоступное описание проблемы.   -  person David Abragimov    schedule 20.03.2019


Ответы (1)


Проблема была окончательно решена путем миграции BW на версию 5.14.

person David Abragimov    schedule 15.01.2020