您的位置:首页 > 其它

难道是C3p0的问题

2010-07-22 17:28 381 查看
oracle 批量插入数据 采用c3p0数据源,有时操作成功,有时失败,失败时如下报错:

2010-07-22 15:37:14,031 INFO [com.brekeke.hiway.ticket.service.impl.TdayCollectReportServiceImpl] - <刷新车道库存时发现错误:
class org.springframework.jdbc.UncategorizedSQLException SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; An SQLException was provoked by the following failure: java.lang.ArrayIndexOutOfBoundsException: -32583; nested exception is java.sql.SQLException: An SQLException was provoked by the following failure: java.lang.ArrayIndexOutOfBoundsException: -32583
org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:124)
org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:322)
org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:212)
com.brekeke.hiway.ticket.dao.impl.CarlanestoreDAOImpl.insertCarlaneStoreBatch(CarlanestoreDAOImpl.java:67)
com.brekeke.hiway.ticket.service.impl.TdayCollectReportServiceImpl.generateCarlaneStore(TdayCollectReportServiceImpl.java:1791)
com.brekeke.hiway.ticket.action.DayCollectReportSearchAction.refreshCarlaneStore(DayCollectReportSearchAction.java:538)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:592)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)>

原c3p0配置:

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${jdbc.driverClassName}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="minPoolSize" value="10"/>
<property name="maxPoolSize" value="50"/>
<property name="maxStatements" value="50"/>
<property name="maxIdleTime" value="28000"/>
<property name="idleConnectionTestPeriod" value="100"/>
<property name="acquireIncrement" value="10"/>
<property name="acquireRetryAttempts" value="30"/>
<property name="autoCommitOnClose" value="true"/>
<property name="preferredTestQuery" value="select * from receipttype"/>
</bean>

后面添加了两项,竟然没有问题了

<property name="acquireRetryDelay" value="100"/>
<property name="breakAfterAcquireFailure" value="false"/>

不是很明白
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: