主题 : 用jeecms搭建的网站后台经常出现500错误
级别: 童生
UID: 18869
积分:36 加为好友
威望: 0 精华: 0
主题:1 回复:31
注册时间:2011-04-26
在线时长:0
1#   发表于:2012-04-17 19:02:55  IP:222.66.*.*
后台经常出现类似下面的500错误

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: JDBC begin failed

出现错误后,刷新页面就好了,不清楚是哪里问题,感觉跟jdbc连接池配置有关。

如果说是链接数据库的问题,为何刷新就好了呢,我确认数据库肯定没问题,因为mysql和程序在一台机器上。

我的环境是:
linux rhel5.0版本,jdk是jdk1.6.0_13,tomcat是Tomcat6.0.35,nginx版本是nginx1.0.14

通过nginx反向代理和tomcat集成。


请版主给予解答,谢谢啦!

更多报错信息,请查看附件   
级别: 总版主
UID: 10736
积分:148381 加为好友
威望: 205 精华: 42
主题:287 回复:126139
注册时间:2010-09-08
在线时长:15.55
2#   发表于:2012-04-18 08:35:34  IP:115.172.*.*
附件呢?你是怎么安装的呢?
路漫漫其修远兮,吾将上下而求索!
级别: 童生
UID: 18869
积分:36 加为好友
威望: 0 精华: 0
主题:1 回复:31
注册时间:2011-04-26
在线时长:0
3#   发表于:2012-04-19 15:07:30  IP:222.66.*.*
附件呢?你是怎么安装的呢?


论坛上传附件就报错


安装就是直接通过web界面安装的,都没报错!
级别: 总版主
UID: 10736
积分:148381 加为好友
威望: 205 精华: 42
主题:287 回复:126139
注册时间:2010-09-08
在线时长:15.55
4#   发表于:2012-04-19 15:13:19  IP:220.14.*.*
路漫漫其修远兮,吾将上下而求索!
级别: 总版主
UID: 10736
积分:148381 加为好友
威望: 205 精华: 42
主题:287 回复:126139
注册时间:2010-09-08
在线时长:15.55
5#   发表于:2012-04-19 15:15:50  IP:220.14.*.*
路漫漫其修远兮,吾将上下而求索!
级别: 总版主
UID: 10736
积分:148381 加为好友
威望: 205 精华: 42
主题:287 回复:126139
注册时间:2010-09-08
在线时长:15.55
6#   发表于:2012-04-19 15:44:06  IP:220.14.*.*
你有没有修改过源码呢?
路漫漫其修远兮,吾将上下而求索!
级别: 童生
UID: 18869
积分:36 加为好友
威望: 0 精华: 0
主题:1 回复:31
注册时间:2011-04-26
在线时长:0
7#   发表于:2012-04-19 16:18:37  IP:222.66.*.*
你有没有修改过源码呢?



没有修改过源码,都是正常操作,修改模板

jdbc链接参数调了也没用啊
级别: 总版主
UID: 10736
积分:148381 加为好友
威望: 205 精华: 42
主题:287 回复:126139
注册时间:2010-09-08
在线时长:15.55
8#   发表于:2012-04-19 16:25:31  IP:220.14.*.*
你是怎么部署上去的呢?
路漫漫其修远兮,吾将上下而求索!
级别: 童生
UID: 18869
积分:36 加为好友
威望: 0 精华: 0
主题:1 回复:31
注册时间:2011-04-26
在线时长:0
9#   发表于:2012-04-19 16:41:48  IP:222.66.*.*
你是怎么部署上去的呢?



nginx做了代理,转到了tomcat上,然后通过jeecms的web安装界面安装的啊,安装一切正常。


我测试不走代理,。直接用tomcat访问后台,还是照样出现500错误,应该是程序bug
级别: 总版主
UID: 10736
积分:148381 加为好友
威望: 205 精华: 42
主题:287 回复:126139
注册时间:2010-09-08
在线时长:15.55
10#   发表于:2012-04-19 16:41:55  IP:220.14.*.*
解决方案:

1.

给jdbc url 增加 autoReconnect=true 一定能解决你的问题,可以定期观察一下 show processlist
改进方法如下:
<property name="url" value="jdbc:mysql://localhost/数据库实例名称?&useUnicode=true&characterEncoding=utf-8&autoReconnect=true"/>

 

2.

寻找支持重连的连接池。
           注意:c3p0连接池支持重连;重连参数是:
               idleConnectionTestPeriod   设置空闲连接测试周期
               preferredTestQuery : 设置一查询语句,用于重连测试
              testConnectionOnCheckin设置为true
              testConnectionOnCheckout设置为true

 

在sessionFactory里配置:

<property name="hibernateProperties">
   <props>

        <prop key="hibernate.autoReconnect">true</prop>

  </props>
</property>
路漫漫其修远兮,吾将上下而求索!
1 2 > >| 共2页