hunty_love 2015-05-12 04:10
浏览 6583

SpringBatch 和 quartz定时,quartz调用多个springbatchjob异常,

异常如下:
2015-05-12 11:49:30.046 [startQuertz_Worker-5] ERROR org.quartz.core.JobRunShell - Job DEFAULT.busBatchJobDetail threw an unhandled Exception:
org.springframework.dao.CannotSerializeTransactionException: PreparedStatementCallback; SQL [INSERT into BATCH_JOB_EXECUTION(JOB_EXECUTION_ID, JOB_INSTANCE_ID, START_TIME, END_TIME, STATUS, EXIT_CODE, EXIT_MESSAGE, VERSION, CREATE_TIME, LAST_UPDATED) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; ORA-08177: 无法连续访问此事务处理
; nested exception is java.sql.SQLException: ORA-08177: 无法连续访问此事务处理

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:267) ~[spring-jdbc-4.0.0.RELEASE.jar:4.0.0.RELEASE]
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73) ~[spring-jdbc-4.0.0.RELEASE.jar:4.0.0.RELEASE]
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:658) ~[spring-jdbc-4.0.0.RELEASE.jar:4.0.0.RELEASE]
以下是.xml配置
 <bean id="jobLauncher"
      class="org.springframework.batch.core.launch.support.SimpleJobLauncher">
    <property name="jobRepository" ref="jobRepository"/>
</bean>

<!--// Spring batch  持久化机制  默认id为jobRepository-->
<bean id="jobRepository"
      class="org.springframework.batch.core.repository.support.JobRepositoryFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="transactionManager" ref="transactionManager"/>
    <property name="lobHandler" ref="lobHandler"/>
    <property name="isolationLevelForCreate" value="ISOLATION_READ_COMMITTED"/>
</bean>
<!--// mapJobRepository 不将JobExecution和jobExectution存入数据库-->
<!--<bean id="jobRepository"-->
      <!--class="org.springframework.batch.core.repository.support.MapJobRepositoryFactoryBean"-->
      <!--lazy-init="true" autowire-candidate="false"/>-->
<!--//stopping, restarting, or summarizing a Job-->
<bean id="jobOperator"
      class="org.springframework.batch.core.launch.support.SimpleJobOperator">
    <property name="jobLauncher" ref="jobLauncher"/>
    <property name="jobExplorer" ref="jobExplorer"/>
    <property name="jobRepository" ref="jobRepository"/>
    <property name="jobRegistry" ref="jobRegistry"/>
</bean>
<!--// 读取jobRepository类,只读。-->
<bean id="jobExplorer"
      class="org.springframework.batch.core.explore.support.JobExplorerFactoryBean">
    <property name="dataSource" ref="dataSource"/>
</bean>
<!--//用来记载多个jobs,进行注册 并可以修改相应job的参数-->
<bean id="jobRegistry"
      class="org.springframework.batch.core.configuration.support.MapJobRegistry"/>



<bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler"/>


<!--必须配置ExecutionContextPromotionListener才能往jobExecutionContext中写-->
<bean id="promotionListener" class="org.springframework.batch.core.listener.ExecutionContextPromotionListener">
    <property name="keys" value="size"/>
</bean>

同时我还想将JobExecution和jobExectution存到数据库 
  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 逻辑谓词和消解原理的运用
    • ¥15 请求分析基于spring boot+vue的前后端分离的项目
    • ¥15 三菱伺服电机按启动按钮有使能但不动作
    • ¥15 js,页面2返回页面1时定位进入的设备
    • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
    • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
    • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
    • ¥20 腾讯企业邮箱邮件可以恢复么
    • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?