您的位置:首页 > 移动开发

ERROR TransactionInterceptor - Application exception overridden by rollback exception

2016-03-15 13:32 423 查看
异常信息:

ERROR TransactionInterceptor - Application exception overridden by rollback exception


问题分析:

主要是由于连接时间过长,失效所致。即,程序获取到的连接已经失效了,而拿一个失效的连接再次请求就会报那样的异常。

问题解决:

既然程序获取的连接已经失效了,那么对于失效的连接就不应该使用,而应该再次获取有效的连接。

以下部分为连接池的配置信息:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
<property name="maxActive" value="100"/>
<property name="maxIdle" value="30"/>
<property name="maxWait" value="1000"/>
<property name="defaultAutoCommit" value="true"/>
***<span style="background-color: rgb(255, 0, 0);"><property name="validationQuery" value="select * from dual"/></span>***
</bean>


本段配置主要是添加了粗体斜体部分配置,即
<property name="validationQuery" value="select * from dual"/>
,她的主要作用是在连接使用之前去判断该连接是否有效,无效的话,将会从连接池中重新获取。

文章主要信息来源:http://my.oschina.net/tianzimensheng/blog/65225

说明,笔者遇到的异常跟原文的异常基本相似,使用该方法解决了,同样可以解决问题。基本可以确认是连接问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息