2016-12-22 62 views
0

我用兩個不同的連接運行Spring Boot批處理。 Oracle DB和DB2 DB都使用SimpleJDBCTemplate。 在第一次發生約1小時後第二次進行查詢時發生問題,因爲我在第二次運行之前有300,000次插入。連接異常結束Spring Jdbc

Oracle連接長時間存活,我相信它會拋出IOException

我正在考慮關閉那些300000插入之前的Oracle連接...

這裏是堆棧跟蹤:

IO異常:EDC8120I連接異常終止;嵌套異常 是java.sql.SQLException:異常:EDC8120I Connection異常結束 。 在org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:84) 在org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) 在org.springframework.jdbc.support。 AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81) 在org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:660) 在org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:695) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:727)

+0

您是否在使用批插入來插入行? –

+0

不幸的是,我們的服務器每次最多有10000個插入...我使用但DBA告訴我一個接一個...... –

回答

0

在每次迭代中使用批量插入1000個項目。

+0

問題解決了!我正在使用SingleConnectionDataSource不會關閉連接...更改爲commons dbcp BasicDataSource後,它工作正常! –