原因: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 表示式更新了定時任務觸發器。使用者在修改...