Как применить политику подписки lastImageSubscriptionRecoveryPolicy либо к месту назначения, либо к потребителю?

1

У меня есть тема, что я хотел бы, чтобы потребители подписали ретроактивно с lastImageSubscriptionRecoveryPolicy. Я не использую конфигурационный файл, я определяю все с помощью кода Java. Я создаю тему:

session.createTopic("a.topic?consumer.retroactive=true");

Как мне узнать, что это должно быть lastImageSubscriptionRecoveryPolicy для этого раздела в Java-коде? Примечание. Я не хочу указывать, что все мои темы - lastImageSubscriptionRecoveryPolicy (поэтому я не хочу вызывать broker.setDestinationPolicy(pMap);).

Теги:
activemq

1 ответ

1
Лучший ответ

Это не совсем то, что я хотел, но это достаточно близко:

PolicyMap policyMap = broker.getDestinationPolicy();
PolicyEntry policy = new PolicyEntry();
policy.setSubscriptionRecoveryPolicy( new LastImageSubscriptionRecoveryPolicy() );
ActiveMQDestination destination = (ActiveMQDestination) session.createTopic(
   "a.topic" );

policyMap.put( destination, policy );

Ещё вопросы

Сообщество Overcoder
Наверх
Меню