Использовать рекомендательные сообщения ActiveMQ в tomEE mdb

У меня есть MDB, которому удается использовать консультативные сообщения ActiveMQ при развертывании на Glassfish.

Но при развертывании на tomEE этот MDB не потребляет никаких консультативных сообщений. Есть ли что-то, что мне нужно включить?

@MessageDriven(mappedName = "ActiveMQ.Advisory.Consumer.Queue", activationConfig = {
        @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"),
        @ActivationConfigProperty(propertyName = "destination", propertyValue = "ActiveMQ.Advisory.Consumer.Queue.User.*") })
public class AdvisoryMdb implements MessageListener {
    private final Logger logger = LoggerFactory.getLogger(getClass().getName());

    @Override
    public void onMessage(Message message) {
        logger.info("onMessage() {}", message);
    }
}

(В TomEE мне удается успешно создавать и потреблять сообщения в этих очередях, для которых я хочу получать рекомендации)

редактировать: я проверил, чтобы потреблять по одной из этих консультативных тем с автономным клиентом и получил сообщения, как ожидалось. Таким образом, консультативные сообщения успешно отправлены, просто мой mdb не принимает их правильно.

2 ответа

Решение

Случайно я попытался удалить

mappedName = "ActiveMQ.Advisory.Consumer.Queue"

из аннотации @MessageDriven, и вдруг он работает как на TomEE, так и на Glassfish. Не уверен, почему я добавил это, во-первых, думаю, что это не было необходимо для стеклянной рыбы.

Какие консультативные сообщения вы пытаетесь использовать?

Взгляните на документацию здесь... Я вижу ActiveMQ.Advisory.Consumer.Queue Это означает, что сообщения " Пуск и остановка потребителя" в очереди. Ваша цель ActiveMQ.Advisory.Consumer.Queue.User.*, Так у вас есть очередь называется User? Это единственная очередь или есть несколько очередей под User?

Также, читая документ, похоже, что за годы имен Консультативных очередей произошли некоторые изменения. Можете ли вы проверить версии ActiveMQ на разных платформах и убедиться, что вы сравниваете яблоки с яблоками? Кроме того, на странице документации, которую я перечислил, мне интересно, отключены ли некоторые рекомендации. В ней не указана та конкретная очередь, которую можно отключить, но вы можете попробовать явно включить все рекомендации и посмотреть, поможет ли это.

Другие вопросы по тегам