RabbitMQ拓展學習 自定義配置RabbitMQ連接屬性


  最近研究RabbitMQ從本地獲取配置,主要場景是RabbitMQ的連接配置如:ip地址這些需要從外部的配置服務器獲取。面對這個問題,有兩個解決方案,一個是用RabbitMQ原生的連接方式,但是如果使用了spring boot這個方法就有點笨拙,所以推薦使用重寫RabbitMQ的工廠類ConnectionFactory類來進行連接RabbitMQ。

  

public class RabbitmqConfig {


    @Bean
    public ConnectionFactory connectionFactory() throws Exception {
            //創建工廠類
            CachingConnectionFactory cachingConnectionFactory=new CachingConnectionFactory();
            //用戶名
            cachingConnectionFactory.setUsername("gust");
            //密碼
            cachingConnectionFactory.setPassword("gust");
            //rabbitMQ地址
            cachingConnectionFactory.setHost("127.0.0.1");
             //rabbitMQ端口
            cachingConnectionFactory.setPort(Integer.parseInt(5672));
            cachingConnectionFactory.setCacheMode(CachingConnectionFactory.CacheMode.CHANNEL);
            return  cachingConnectionFactory;
 
    }

    /**
     * 將配置好的信息放入
     * @param connectionFactory
     * @return
     */
    @Bean
    public RabbitListenerContainerFactory rabbitListenerContainerFactory(ConnectionFactory connectionFactory){
        SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
        factory.setConnectionFactory(connectionFactory);
        return  factory;
    }



    /**
     * 自動聲明隊列
     * @param connectionFactory
     * @return
     */
    @Bean
    public RabbitAdmin rabbitAdmin(ConnectionFactory connectionFactory){
        RabbitAdmin rabbitAdmin = new RabbitAdmin(connectionFactory);
        rabbitAdmin.setAutoStartup(true);
        return  rabbitAdmin;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM