如何将lastImageSubscriptionRecoveryPolicy订阅策略应用于目标或使用者?

时间:2014-04-01 16:11:23

标签: java activemq

我有一个主题,我希望消费者使用lastImageSubscriptionRecoveryPolicy追溯订阅。我没有使用配置文件,我通过Java代码指定所有内容。我正在创建如下主题:

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

如何在Java代码中为此主题指定这应该是lastImageSubscriptionRecoveryPolicy?注意:我不想指定我的所有主题都是lastImageSubscriptionRecoveryPolicy(因此我不想调用broker.setDestinationPolicy(pMap);)。

1 个答案:

答案 0 :(得分:1)

这不是我想要的,但它足够接近:

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

policyMap.put( destination, policy );