Приостановить обработку сообщения MDB

Можем ли мы на некоторое время приостановить обработку сообщений MDB? Например: Jboss 1-развернул MDB для обработки сообщений. Jboss 2:-Bean для сбора информации о пользователе. Если MDB из jboss 1 вызывает bean-компонент в jboss 2 для получения сведений о пользователях. Если это так, когда мы перезапускаем Jboss 2, нам нужно приостановить MDB в jboss 1 до тех пор, пока jboss 2 не включится. Есть ли возможность приостановить MDB, чтобы мы могли избежать сбоя сообщения?


person vairam    schedule 05.12.2011    source источник
comment
В JBoss4,5 вы можете настроить зависимости между компонентами JMX - BarrierController / Barrier и сделать MDB зависимым от барьера, поэтому приостановка может быть выполнена путем запуска и остановки барьера. Мне не удалось найти прямой замены этой функциональности в JBoss 7 AS. Я все еще ищу - любая помощь будет оценена!   -  person pjklauser    schedule 06.05.2013


Ответы (3)


Я сомневаюсь, что вы можете остановить MDB, не останавливая все приложение. Это возможно с Spring JMS, но не с обычными bean-компонентами, управляемыми сообщениями.

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

person MaDa    schedule 08.12.2011
comment
Да... вы можете приостановить очередь. - person Clebert Suconic; 09.12.2011

В JBoss (4.x и 5.x) вы можете просматривать MDB через консоль JMX и приостанавливать доставку сообщений.

  1. Перейдите в консоль jmx (http://yourserver:8080/jmx-console/, где 8080 — HTTP-порт)
  2. Нажмите jboss.j2ee на левой панели.
  3. На правой панели найдите и щелкните свой MDB. Обычно это будет выглядеть примерно так

    jar=file-containing-your-MDB.jar,name=NameOfYourMDB,service=EJB3

  4. Чтобы сделать паузу, нажмите кнопку «Вызвать» рядом с «stopDelivery».
  5. Чтобы возобновить, нажмите кнопку «Вызвать» рядом с «начать доставку».
person GreenGiant    schedule 28.02.2012
comment
Вы нашли аналог JBoss 7? - person pjklauser; 06.05.2013
comment
@pjklauser Разве в JBoss 7 нет этого в консоли JMX? Я никогда не использовал его раньше. - person GreenGiant; 06.05.2013

Вы можете остановить очередь на HornetQ. (Я не уверен насчет JBoss Messaging, но уверен, что вы знаете)

Ищите паузу и возобновление сообщения на консоли JMX.

person Clebert Suconic    schedule 29.02.2012