項目中使用hibernate3,在啟動項目過程中,發現加載顯示數據很慢,要多幾分鍾才顯示出數據,沒有報其他異常。今天特別慢,過了好久都不加載顯示數據。
排查思路有以下幾個方面:
1、數據庫是否開啟。檢查發現已經開啟。
2、是否缺少包。檢查git修改記錄,沒有發現改動。
3、tomcat、eclipse等是否配置正常。檢查發現沒有改動。
接下來就調試代碼。
最開始是前端不拋任何錯誤,后來點擊登錄,發現拋出了前端ajax中自定義的錯誤(為了使錯誤更加明顯,修改了錯誤提示信息)
先調試前端代碼,發現直接走到error了,就調試了isExist.do這個方法,發現是調用hibernate的公共類時,一直停在讀取配置文件那里。
在該處代碼加上了try catch,視圖捕獲異常,沒有抓到異常。
但是過了一段時間,前端竟然顯示了數據庫中的數據。推斷:加載配置文件很慢。
網上搜索了一下,發現有類似的情況:
也就是說配置文件的dtd不對。
3.0的寫法:http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd
再檢查自己的配置文件,果然不對,按照文章的說明修改后,加載數據很快了。
再進一步找到了說明文檔:
根據定義,先在本地找,找不到則到網上找,網速很慢,則很久才獲取到。
hibernate配置文件寫法要和對應的版本一致,最好是直接看包中的文檔,或者進官網看。
參考文章: