【发布时间】:2016-12-22 01:10:12
【问题描述】:
我正在运行具有两个不同连接的 Spring Boot 批处理。一个 Oracle DB 和一个 DB2 DB 都使用SimpleJDBCTemplate。
当我在第一次查询大约 1 小时后第二次查询时会出现问题,因为在第二次运行之前我有 300,000 次插入。
Oracle 连接保持活动这么长时间,我相信它会抛出 IOException。
我正在考虑在这 300,000 次插入之前关闭 Oracle 连接...
这是堆栈跟踪:
Io 异常:EDC8120I 连接异常结束。;嵌套异常 是 java.sql.SQLException: Io 异常: EDC8120I 连接结束 异常。 在 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) 在 org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:727)
【问题讨论】:
-
您是否使用批量插入来插入行?
-
不幸的是,我们的服务器每次最多插入 10000 次...我正在使用,但 DBA 告诉我要一个接一个...
标签: spring spring-boot spring-jdbc