1. 程式人生 > >多個@PostConstruct註解在不同伺服器上啟動順序不同的問題解決

多個@PostConstruct註解在不同伺服器上啟動順序不同的問題解決

背景

我們有一個系統,在window上和在linux上效果完全不一樣

在window上正常執行,在linux上無法執行

原因

通過分析應用的啟動日誌,發現在window上有一個初始化的配置限制性,然後,在執行查詢資料庫的操作

而在linux上是先執行查詢資料庫後執行初始化配置的。通過反編譯檢視原始碼,發現這兩個操作是兩個啟動後初始化的操作

用的方法是@PostConstruct,這個方法,如果大家用過的話,就知道,這個方法會在執行完構造方法後執行,啟動後執行的順序,大概是構造方法->@PostConstruct,然後由於這個問題

解決辦法

最後的解決辦法是把Bean的初始化放在Spring的配置檔案中,因為之前的配置檔案是用JavaConfig實現的。這個問題後面可以再深入研究一下