We have an issue with our job running on Spring Batch Admin 1.0.0.M3 with Spring Batch 2.1.0 and Spring 3.0.2
During one step we get the following
Which leads toCode:[INFO] [talledLocalContainer] 2010-05-12 09:55:40 [SimpleAsyncTaskExecutor-2] SimpleRetryExceptionHandler [DEBUG] Handled non-fatal exception [INFO] [talledLocalContainer] org.hibernate.HibernateException: connnection proxy not usable after transaction completion [INFO] [talledLocalContainer] at org.hibernate.jdbc.BorrowedConnectionProxy.invoke(BorrowedConnectionProxy.java:66) [INFO] [talledLocalContainer] at $Proxy86.prepareStatement(Unknown Source) [INFO] [talledLocalContainer] at org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator.createPreparedStatement(JdbcTemplate.java:1362) [INFO] [talledLocalContainer] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:580) [INFO] [talledLocalContainer] at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:811) [INFO] [talledLocalContainer] at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:867) [INFO] [talledLocalContainer] at org.springframework.batch.core.repository.dao.JdbcExecutionContextDao.persistSerializedContext(JdbcExecutionContextDao.java:193) [INFO] [talledLocalContainer] at org.springframework.batch.core.repository.dao.JdbcExecutionContextDao.updateExecutionContext(JdbcExecutionContextDao.java:136) [INFO] [talledLocalContainer] at org.springframework.batch.core.repository.support.SimpleJobRepository.updateExecutionContext(SimpleJobRepository.java:178) [INFO] [talledLocalContainer] at sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source) [INFO] [talledLocalContainer] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [INFO] [talledLocalContainer] at java.lang.reflect.Method.invoke(Method.java:585) [INFO] [talledLocalContainer] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309) [INFO] [talledLocalContainer] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) [INFO] [talledLocalContainer] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) [INFO] [talledLocalContainer] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) [INFO] [talledLocalContainer] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) [INFO] [talledLocalContainer] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) [INFO] [talledLocalContainer] at $Proxy25.updateExecutionContext(Unknown Source) [INFO] [talledLocalContainer] at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:391) [INFO] [talledLocalContainer] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) [INFO] [talledLocalContainer] at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:261) [INFO] [talledLocalContainer] at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:76) [INFO] [talledLocalContainer] at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:367) [INFO] [talledLocalContainer] at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:214) [INFO] [talledLocalContainer] at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:143) [INFO] [talledLocalContainer] at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:247) [INFO] [talledLocalContainer] at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:196) [INFO] [talledLocalContainer] at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:115) [INFO] [talledLocalContainer] at org.springframework.batch.core.job.flow.JobFlowExecutor.executeStep(JobFlowExecutor.java:61) [INFO] [talledLocalContainer] at org.springframework.batch.core.job.flow.support.state.StepState.handle(StepState.java:60) [INFO] [talledLocalContainer] at org.springframework.batch.core.job.flow.support.SimpleFlow.resume(SimpleFlow.java:144) [INFO] [talledLocalContainer] at org.springframework.batch.core.job.flow.support.SimpleFlow.start(SimpleFlow.java:124) [INFO] [talledLocalContainer] at org.springframework.batch.core.job.flow.FlowJob.doExecute(FlowJob.java:99) [INFO] [talledLocalContainer] at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:281) [INFO] [talledLocalContainer] at org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:120) [INFO] [talledLocalContainer] at java.lang.Thread.run(Thread.java:595)
The weird thing is that even though the status of the step is STOPPED, it runs the next step in the job (the job has no decider and use the default settings).Code:[INFO] [talledLocalContainer] 2010-05-12 09:55:40 [SimpleAsyncTaskExecutor-2] AbstractStep [ERROR] Encountered an error executing the step [INFO] [talledLocalContainer] org.springframework.batch.core.JobInterruptedException: Job interrupted status detected. [INFO] [talledLocalContainer] at org.springframework.batch.core.step.ThreadStepInterruptionPolicy.checkInterrupted(ThreadStepInterruptionPolicy.java:44) [INFO] [talledLocalContainer] at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:257) [INFO] [talledLocalContainer] at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:76) [INFO] [talledLocalContainer] at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:367) [INFO] [talledLocalContainer] at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:214) [INFO] [talledLocalContainer] at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:143) [INFO] [talledLocalContainer] at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:247) [INFO] [talledLocalContainer] at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:196) [INFO] [talledLocalContainer] at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:115) [INFO] [talledLocalContainer] at org.springframework.batch.core.job.flow.JobFlowExecutor.executeStep(JobFlowExecutor.java:61) [INFO] [talledLocalContainer] at org.springframework.batch.core.job.flow.support.state.StepState.handle(StepState.java:60) [INFO] [talledLocalContainer] at org.springframework.batch.core.job.flow.support.SimpleFlow.resume(SimpleFlow.java:144) [INFO] [talledLocalContainer] at org.springframework.batch.core.job.flow.support.SimpleFlow.start(SimpleFlow.java:124) [INFO] [talledLocalContainer] at org.springframework.batch.core.job.flow.FlowJob.doExecute(FlowJob.java:99) [INFO] [talledLocalContainer] at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:281) [INFO] [talledLocalContainer] at org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:120) [INFO] [talledLocalContainer] at java.lang.Thread.run(Thread.java:595) [INFO] [talledLocalContainer] 2010-05-12 09:55:40 [SimpleAsyncTaskExecutor-2] AbstractStep [DEBUG] Step execution complete: StepExecution: id=3, name=staging, status=UNKNOWN, exitStatus=STOPPED, readCount=1, filterCount=0, writeCount=1 readSkipCount=0, writeSkipCount=0, processSkipCount=0, commitCount=0, rollbackCount=1
Once we switch to Spring 3.0.0.RELEASE, the error goes away.


Reply With Quote
