Как остановить DefaultMessageListenerContainer от приема сообщений без вызова stop()

#jms #activemq #message-listener #consuming

#jms #activemq #прослушиватель сообщений #использование

Вопрос:

Я использую DefaultMessageListenerContainer с ActiveMQ. Пока слушатель все еще работает, я хочу ненадолго прекратить прием сообщений, скажем, на 30 минут, не останавливая контейнер.

DefaultMessageListenerContainer.stop() поможет мне сделать это, но я не хочу это использовать.

Есть ли способ добиться этого?

Комментарии:

1. Почему вы не хотите использовать stop() на DMLC?

2. Мое требование … существует планировщик, который будет запускаться каждые 30 минут для проверки поля базы данных, которое задает пользователь, чтобы определить, запускать или останавливать DMLC. Допустим, в 9 утра для поля DB установлено значение true, DMLC будет запущен… в 9:10 утра для поля DB установлено значение false планировщик остановит DMLC в 9:30 ….. но я хочу, чтобы он прекратил использовать сообщения с 9:10 до 9:30, не останавливая DMLC.

3. Привет, Джастин Бертрам @JustinBertram … Не могли бы вы посмотреть мой комментарий и предложить, как поступить.

4. Основная цель DMLC — использовать сообщения. Метод Stop используется для прекращения приема сообщений. Вот и все. Другого способа нет. Если у вас есть «пробелы во времени», вы не исправите это, сделав DMLC умнее, а запустив свой планировщик чаще, например, раз в минуту или что-то еще.