2015-09-10 7 views
0

У меня есть JMS, настроенная на домене с рыбной ловлей, что облегчает обмен данными между двумя приложениями на двух доменах. Как я могу заглянуть в очередь JMS после того, как проблема произошла. Одно сообщение было отправлено очень медленно и заняло 6 секунд, а затем 14 секунд, а между остальными все было в порядке. Я хочу знать, что задерживает его в такой степени, как обычно, в миллисекундах. server.log имеет только вход, когда запускается сервер msgs, и когда он отключается, поэтому его не полезно.JMS отправка медленная

В каталоге imq есть некоторые файлы брокера, но некоторые из них - файлы log.txt с закрытым и принимающим соединением. Есть ли способ узнать, что происходит в это время в очереди, что это заняло так много времени

Благодарности

ответ

0

Там может быть несколько причин для задержек. Например, количество отправленных сообщений и скорость, которую они потребляют. Скорее всего, это связано с тем, что MDB использует сообщения (в потребительском приложении). Убедитесь, что у вас достаточно MDB, работающих одновременно в домене пользователя. (Все это настраивается администратором веб-сервера по спецификации активации)

Другой проблемой может быть подключение, но в случае возникновения проблемы с подключением вы, скорее всего, видели бы что-то в журналах.

+0

спасибо, что ответ, otc. мы используем маршрутизатор Spring для отправки и расширение SpringMessageListenerContainer Spring. Мы регистрируем время, когда мы действительно отправляем и регистрируем время, когда вызывается метод onMessage() метода messageListener. Поэтому мы знаем, когда он был получен потребителем. В настоящее время ничего особенного не происходит, когда есть другое сообщение, но не так много, чтобы вызвать проблему. – sarmahdi

0

Проверьте код MDB, потребители. У вас может быть код, для которого требуется больше времени для выполнения, тем самым блокируя ресурсы (потоки) на сервере в течение некоторого времени (например, внешний системный вызов с более длинными таймаутами и т. Д.).