2016-09-15 9 views
0

В настоящее время я настраиваю повторную доставку, создавая компонент и устанавливая его на amq connectionFactory. Проблема в том, что для одной из моих очередей мне нужно установить другую политику переопределения (максимальное количество повторных отправлений 3, а не 6). Сейчас я использую ActiveMQ-5.6.0. Я вижу, что для 5.7.0 я могу установить разные политики для очередей/тем, но нет упоминания об установке определенной политики только для одной из очередей.Политика переопределения ActiveMQ для конкретной очереди

<amq:connectionFactory id="amqConnectionFactory"> 
    <property name="brokerURL" value="url" /> 
    <property name="redeliveryPolicy" ref="redeliveryPolicy" /> 
</amq:connectionFactory> 

<bean id="redeliveryPolicy" class="org.apache.activemq.RedeliveryPolicy"> 
    <property name="backOffMultiplier" value="2" /> 
    <property name="initialRedeliveryDelay" value="15000" /> 
    <property name="maximumRedeliveries" value="6" /> 
    <property name="redeliveryDelay" value="15000" /> 
    <property name="useExponentialBackOff" value="true" /> 
</bean> 

ответ

0

Недавно я создал нечто похожее, но я не работал с аннотациями весенних бобов. Но, возможно, это поможет. Я основываю на брокера плагин, который я прикрепленным к нему Здесь у вас есть RedeliveryPolicy:

private RedeliveryPolicy redeliveryPolicy() { 
    RedeliveryPolicy queuePolicy = new RedeliveryPolicy(); 
    return queuePolicy; 
} 

Вы должны создать BrokerPlugin []

private BrokerPlugin[] createBrokerPlugin() { 
    BrokerPlugin[] bp = new BrokerPlugin[1]; 
    RedeliveryPlugin redeliveryPlugin = new RedeliveryPlugin(); 
    redeliveryPlugin.setRedeliveryPolicyMap(createRedeliverPolicy(connectionFactory)); 
    bp[0] = redeliveryPlugin; 
    return bp; 
} 

, когда у вас есть Brokerplugin массив, который вы легко можете добавить его в ваш Embeded брокер:

@Bean 
public Broker broker() throws Exception { 
    BrokerService broker = new BrokerService(); 
    broker.setBrokerName(BROKER_NAME); 
    broker.setPlugins(createBrokerPlugin()); 
    broker.start(); 
    return broker.getBroker(); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^