Spring批处理java.sql.SQLRecoverableException:IO错误:连接重置

Spring批处理java.sql.SQLRecoverableException:IO错误:连接重置,java,spring-batch,Java,Spring Batch,#在SpringBatch中,我们使用Threadpoolexecutor读取、处理和写回数据库,它最多可以处理400条记录。400条记录之后,获取以下异常: 我在Spring批处理作业运行期间遇到连接重置异常。我一直在试图分析这个错误的根本原因,并提供解决方案,但不确定是什么原因导致了这个错误 (org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback:438) ERROR - JobRe

#在SpringBatch中,我们使用Threadpoolexecutor读取、处理和写回数据库,它最多可以处理400条记录。400条记录之后,获取以下异常:

我在Spring批处理作业运行期间遇到连接重置异常。我一直在试图分析这个错误的根本原因,并提供解决方案,但不确定是什么原因导致了这个错误

(org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback:438) ERROR - JobRepository failure forcing exit with unknown status org.springframework.dao.DataAccessResourceFailureException:PreparedStatementCallback; SQL [UPDATE BATCH_STEP_EXECUTION_CONTEXT SET SHORT_CONTEXT = ?,SERIALIZED_CONTEXT = ? WHERE STEP_EXECUTION_ID = ?]; **IO Error: Connection reset; nested exception is java.sql.SQLRecoverableException: IO Error: Connection reset** at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:104) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:602) at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:811) at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:867) at org.springframework.batch.core.repository.dao.JdbcExecutionContextDao.persistSerializedContext(JdbcExecutionContextDao.java:193) at org.springframework.batch.core.repository.dao.JdbcExecutionContextDao.updateExecutionContext(JdbcExecutionContextDao.java:136) at org.springframework.batch.core.repository.support.SimpleJobRepository.updateExecutionContext(SimpleJobRepository.java:184) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: (org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback:438)错误-JobRepository失败强制退出,状态未知 DataAccessResourceFailureException:PreparedStatementCallback;SQL[UPDATE BATCH_STEP_EXECUTION_CONTEXT SET SHORT_CONTEXT=?,SERIALIZED_CONTEXT=?其中STEP_EXECUTION_ID=?]**IO错误:连接重置; 嵌套异常为java.sql.SQLRecoverableException:IO错误:连接重置** 位于org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:104) 位于org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) 位于org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) 位于org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:602) 位于org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:811) 位于org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:867) 位于org.springframework.batch.core.repository.dao.jdbExecutionContextDao.persistSerializedContext(jdbExecutionContextDao.java:193) 位于org.springframework.batch.core.repository.dao.jdbExecutionContextDao.updateExecutionContext(jdbExecutionContextDao.java:136) 位于org.springframework.batch.core.repository.support.SimpleJobRepository.updateExecutionContext(SimpleJobRepository.java:184) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 请让我知道我应该考虑什么来解决这个问题。你能提供一个解决方案吗?这对你的代码库来说似乎有点太具体了。