2016-11-07 10 views
0

Мне нужно запустить очередь в OpenEJB в состоянии «приостановлено», так что никакие сообщения не обрабатываются потребителем до тех пор, пока некоторые связанные данные не будут доступны. Я могу программно приостанавливать очередь, как показано на рисунке here, поэтому, если бы была какая-то функция инициализации, вызываемая при создании очереди, я мог бы использовать этот метод. Конфигурация очереди documentation, похоже, не поддерживает установку приостановленного состояния. Любые идеи о том, как настроить очередь при создании?Инициализатор ActiveMQ в OpenEJB/TomEE

ответ

0

Если вы прочитали нить, на которую вы ссылаетесь, вы увидите, что очередь не приостановлена, а брокером может быть.

В брокере TomEE создается фабрика с использованием spi (в томате classloader so tomee/lib по умолчанию), поэтому вы можете написать свой собственный, если это опция, начинающаяся программно, когда вы будете готовы.

Теперь я подозреваю, что вы не хотите запускать коннекторы с контейнером, но это не проблема для запуска брокера. В противном случае вы не хотите подключаться к какой-либо другой машине через JMS, чтобы ничего не получать, но если JMS запущен и развернут, все в порядке.

В таком случае вы можете просто не сконфигурировать какой-либо разъем на брокере и добавить их при готовности. Вы можете найти брокеров:

new org.apache.openejb.resource.activemq.ActiveMQ5Factory().getBrokers() 
Смежные вопросы