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条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
    • ¥15 名为“Product”的列已属于此 DataTable
    • ¥15 安卓adb backup备份应用数据失败
    • ¥15 eclipse运行项目时遇到的问题
    • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
    • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
    • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
    • ¥50 成都蓉城足球俱乐部小程序抢票
    • ¥15 yolov7训练自己的数据集
    • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)