2017-07-28 30 views
0

我正在使用spring-boot-starter-activemqPoolFactory。一切都很好,通過application.yaml很容易配置,但我無法找到注入我的定製RedeliveryPolicy的正確方法。所以問題是我該怎麼做?注入RedeliveryPolicy到Spring啓動ActiveMQ

回答

3

可以在連接工廠上設置重新投遞策略。由於連接工廠是通過彈簧啓動自動配置的,因此可以添加一個方法來設置它。

import org.apache.activemq.ActiveMQConnectionFactory; 
import org.apache.activemq.RedeliveryPolicy; 
import org.springframework.beans.factory.InitializingBean; 
import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 

@Configuration 
public class Foo 
{ 
    @Bean 
    public InitializingBean connectionFactory(ActiveMQConnectionFactory connectionFactory) 
    { 
     return() -> 
     { 
      RedeliveryPolicy redeliveryPolicy = new RedeliveryPolicy(); 
      // configure redelivery policy 
      connectionFactory.setRedeliveryPolicy(redeliveryPolicy); 
     }; 
    } 
}