2014-04-01 21 views
1

我有一個話題,我希望讓消費者用lastImageSubscriptionRecoveryPolicy追溯訂閱。我沒有使用配置文件,我通過Java代碼指定了一切。我創建類的話題:如何將lastImageSubscriptionRecoveryPolicy訂閱策略應用於目標或使用者?

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

我該如何去有關指定這應該是lastImageSubscriptionRecoveryPolicy本主題中的Java代碼?注意:我不想指定我的所有主題都是lastImageSubscriptionRecoveryPolicy(所以我不想調用broker.setDestinationPolicy(pMap);)。

回答

1

這不正是我想要的,但它是足夠接近:

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

policyMap.put(destination, policy);