springcloud bus 消息通知 DRUID數據源無法刷新問題

昨天覆習springcloud項目開發的時候,在集合springcloud config和springcloud bus 是遇到一個問題: "使用了DRUID數據驅動"  配置文件提交到了git倉庫 也通過post請求通知註冊在eureka中的各個服務,更換了部署環境(dev:數據庫_01,prod:數據庫_02)各個服務啓動之後,從dev切換到prod之後正常來講數據應該來自數據庫_02但是數據依然是數據庫_01的,通過一系列找資料找到了方法:

應該創建一個DruidConfig的配置類,使用@refreshScope註解和@ConfigurationProperties(prefix = "配置信息")創建一個獲取datasource對象的類並使用@bean註解和@configuration將其註冊到srping管理

坑一: @refreshScope放在DruidConfig配置類的類名上修飾.結果還是不能顯示數據庫_02的數據

結果: 將@refreshScope放在方法上

@Configuration
public class DruidConfig {

    @Bean
    @RefreshScope //刷新配置
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource druid(){
        return new DruidDataSource();
    }
}

這樣重啓項目,數據來源就對了.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章