Spring容器啟動耗時很長(卡住不動)

2021-10-19 22:35:42 字數 473 閱讀 8114

原因:xsi:schemalocation  中配置的 xsd 版本與專案中的版本不一致。

1.在spring啟動是讀取xml時,會載入xsd對xml進行校驗。

2.預設情況下是載入本地的xsd檔案(如下圖),xsd檔案一般是儲存在對應的jar包裡。

3.版本不一致,上圖中jms的xsd版本只有2.5 3.0 3.1,但是我在配置檔案中使用4.0,這種情況一般發生在複製其他地方的配置檔案導致的。

4.結果,導致每次spring啟動都會通過外網訪問xsd,就會出現啟動卡住的情況。

5.額外情況,一般使用http協議會很快,如果你使用的是hppts協議也能會導致啟動緩慢。

spring容器以及Spring啟動過程

beanfactory介面包含以下幾個基本方法 boolean containbean string name 判斷spring容器是否包含id為name的bean例項。getbean classrequiredtypr 獲取spring容器中屬於requiredtype型別的唯一的bean例項。o...

Spring容器啟動中XML解析

上篇文章介紹了spring容器啟動主要流程,本篇主要針對spring啟動中xml載入過程細化說明 在上面介紹的節奏中,知道該 configurablelistablebeanfactory beanfactory obtainfreshbeanfactory 函式專門用來處理xml解析,並且解析成g...

spring 容器啟動執行重置定時任務

對於quartz定時任務,需要自定義設定cron表示式實現修改定時任務的執行週期。定時任務是在spring容器啟動完畢通過 eventlistener監聽容器的contextrefreshedevent事件讀取了quarz.properties檔案中cron 表示式更新了定時任務觸發器。使用者在修改...