您的位置:首页 > 其它

Cannot close connection,finalizing with closed connection问题解决。

2008-09-19 05:41 597 查看
这个问题又搞了我一个通宵,呵呵,以下是一位老兄的解决方案,我试了没错,谢谢他

“我的智囊团”项目的小BUG
http://www.zhinangtuan.net.cn/show/20081/20081311205269884.html
声明:本文不是问题,只是我在运行“我的智囊团”项目时发现的一点小漏洞,与MLDN的同学们分享,希望大家积极讨论。
在运行此项目时发现经常会出现以下问题
forgot to call close() on your session?
严重时还会出现下面的异常:
org.hibernate.exception.GenericJDBCException: could not execute query
原因是spring初始化了两次:
第一处在web.xml里
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>
第二处在struts-config.xml里
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
那么怎样才能只初始化一次呢?
删去一处,第一处是不能删的,删在会出现异常:
org.springframework.beans.factory.BeanDefinitionStoreException:
IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml];
nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
从此信息可以看出tomcat启动会加载一次,并且默认目录是在/WEB-INF/下。即使你删除了,也会初始化spring一次。
那么只能删除第2处了。确实,删除之后异常就不在出现了。保证了spring只初始化一次

★★★ 问题补充 ★★★ (2008-1-6 20:17:11)
如果加上这个文件action-servlet.xml有一个解决方法!
1、把applicationContext.xml也放到/WEB-INF/下。
2、在第二处插件只加action-servlet.xml,代码如下:
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/action-servlet.xml" />
另外,把applicationContext.xml也放到/WEB-INF/下,在web.xml文件里也可以这样写:

org.springframework.web.context.ContextLoaderListener


★★★ 问题补充 ★★★ (2008-1-6 20:19:11)
过滤了,在发一遍!
[listener]
[listener-class]
org.springframework.web.context.ContextLoaderListener
[/listener-class]
[/listener]

★★★ 问题补充 ★★★ (2008-1-6 20:22:26)
不过用 listener 我估计tomcat5.0不可以用

★★★ 问题补充 ★★★ (2008-1-7 17:12:09)
看了上面补充,还有疑问,请试下面的方法:
目录结构,请看下面的图片 http://hi.baidu.com/java%5Forg/album/item/c06680faef9573d0b58f3127.html 配置文件需要下载: http://pickup.mofile.com/5707700987067459
★★★ 问题补充 ★★★ (2008-1-8 11:46:12)
配置文件新的下载地址: http://pickup.mofile.com/7718233563555967 如果在不能下载,我也没有办法了!
请不要用以前的下载地址了

★★★ 问题补充 ★★★ (2008-1-17 11:50:55)
感谢参与!
能下载就好!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐