项目中使用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配置文件写法要和对应的版本一致,最好是直接看包中的文档,或者进官网看。
参考文章:
http://blog.csdn.net/xinmashang/article/details/25912373
https://www.oschina.net/question/135959_144269
时间: 2024-10-01 22:15:45