У меня есть тема, что я хотел бы, чтобы потребители подписали ретроактивно с lastImageSubscriptionRecoveryPolicy. Я не использую конфигурационный файл, я определяю все с помощью кода Java. Я создаю тему:
session.createTopic("a.topic?consumer.retroactive=true");
Как мне узнать, что это должно быть lastImageSubscriptionRecoveryPolicy для этого раздела в Java-коде? Примечание. Я не хочу указывать, что все мои темы - lastImageSubscriptionRecoveryPolicy (поэтому я не хочу вызывать broker.setDestinationPolicy(pMap);).
Это не совсем то, что я хотел, но это достаточно близко:
PolicyMap policyMap = broker.getDestinationPolicy();
PolicyEntry policy = new PolicyEntry();
policy.setSubscriptionRecoveryPolicy( new LastImageSubscriptionRecoveryPolicy() );
ActiveMQDestination destination = (ActiveMQDestination) session.createTopic(
"a.topic" );
policyMap.put( destination, policy );