我遇到间歇性问题启动批处理作业时,引发以下异常:
2019-07-15 11:56:07.435错误--- [main] c.s.a.IntegratorLauncher:org.springframework.dao.CannotSerializeTransactionException:PreparedStatementCallback; SQL [插入到BATCH_JOB_INSTANCE(JOB_INSTANCE_ID,JOB_NAME,JOB_KEY,VERSION)值(?,?,?,?)中] ORA-08177:无法序列化对此事务的访问 ;嵌套的异常是java.sql.SQLException:ORA-08177:无法序列化对此事务的访问
此作业已部署在AWS -Cloud上。我在内部数据中心中运行的是同一类型的工作,该工作绝对正常……所以我不确定云是否有问题-
我尝试了以下解决方法,但没有成功-
@Bean
@Transactional(isolation = Isolation.READ_COMMITTED)
JobRepository jobRepository() {
JobRepositoryFactoryBean factory = new JobRepositoryFactoryBean()
factory.setDataSource(dataSource())
factory.setTransactionManager(transactionManager())
factory.setIsolationLevelForCreate('ISOLATION_READ_COMMITTED')
factory.afterPropertiesSet()
return (JobRepository) factory.getObject()
}
@Bean
PlatformTransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource())
}
感谢任何帮助!