TIBCO JMS с клиентом .Net - проблема с зависшими сообщениями в очередях - PullRequest
1 голос
/ 17 ноября 2010

Мы используем TIBCO JMS 4.3.3 с той же версией .Net TIBCO.EMS.dll для .net 2.0 У нас огромные проблемы с застрявшими сообщениями в очередях. Мы потребляем сообщения из одной очереди, которая связана с темой. Наше приложение создает несколько потребителей с долгоживущими сеансами - у каждого долгоживущего сеанса есть один потребитель. Сеансы и потребители создаются в основном потоке, но сами потребители используют сообщения с использованием метода Receive () с таймаутом в отдельных потоках. У каждого потребителя есть свой поток, в котором он работает. При каждом успешном получении мы вызываем Commit в сеансе, который создал получателя, который получил сообщение (извините за уродливые формулировки).

Проблема в том, что когда эти очереди сильно заполнены (по мосту из темы), многие сообщения застряли - ни один из потоков не может их получить, и мы можем ясно видеть, как они просматривают очередь, и они обрабатываются повторно, если мы перезапускаем приложение. Также мы видим, что когда сообщения застревают, количество отправленных сообщений становится не равным количеству подтвержденных сообщений, если в консоли TIBCO запущено «show customer».

Мы абсолютно потерялись - мы попытались включить и отключить предварительную выборку для этой очереди. Ни одно из решений не сработало. Мы увеличили тайм-аут приема с 1 секунды до 1 минуты, и все еще сообщения застревают, когда число ожидающих сообщений пересекает некоторую границу.

Любая помощь, советы или предложения будут высоко оценены.

Ответы [ 2 ]

2 голосов
/ 18 марта 2011

В итоге мы обнаружили, что в версии 4.4.3 TIBCO EMS была ошибка, приводившая к зависанию некоторых клиентских соединений. Это было исправлено в 5.x

0 голосов
/ 04 января 2011

Кажется, где-то в вашем коде потока, действующем как получатель очереди, отсутствует подтверждение \ фиксация. Я предлагаю рассмотреть потребительский код .. и, возможно, многопоточность. Я предполагаю, что все потоки слушают уникальные очереди ..

-hB

...