No. Though I have the same configuration as your example but I am getting the typical exception given below.
The SimpleRetryPolicy class is in my jar(spring-batch-infrastructure-2.0.4.RELEASE.jar).
I am really surprised what is happening. I have no idea how this method is called fin batch flow.
Please help.
Note:- This error only occurs when I put the below lines in config file. Otherwise it runs but rollback do not happen.
Code:
skip-limit="10" and <skippable-exception-classes> java.lang.Exception
</skippable-exception-classes>
Error stacktrace:-
Code:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'upgradeJob': Cannot create in
ner bean '(inner bean)' of type [org.springframework.batch.core.job.flow.support.SimpleFlow] while setting bean prope
rty 'flow'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with nam
e '(inner bean)': Cannot create inner bean '(inner bean)' of type [org.springframework.batch.core.job.flow.support.St
ateTransition] while setting bean property 'stateTransitions' with key [0]; nested exception is org.springframework.b
eans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot create inner bean '(inner be
an)' of type [org.springframework.batch.core.job.flow.support.state.StepState] while setting constructor argument; ne
sted exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean
)': Cannot resolve reference to bean 'runUpgradeBatch' while setting constructor argument; nested exception is org.sp
ringframework.beans.factory.BeanCreationException: Error creating bean with name 'runUpgradeBatch': FactoryBean threw
exception on object creation; nested exception is java.lang.NoSuchMethodError: org.springframework.batch.retry.polic
y.SimpleRetryPolicy.<init>(I)V
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValue
Resolver.java:230)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefiniti
onValueResolver.java:122)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractA
utowireCapableBeanFactory.java:1245)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowire
CapableBeanFactory.java:1010)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowire
CapableBeanFactory.java:472)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapable
BeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCa
pableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRe
gistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultLista
bleBeanFactory.java:429)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApp
licationContext.java:728)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380
)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.j
ava:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.j
ava:83)
at org.springframework.batch.core.launch.support.CommandLineJobRunner.start(CommandLineJobRunner.java:190)
at org.springframework.batch.core.launch.support.CommandLineJobRunner.main(CommandLineJobRunner.java:254)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:271)
at java.lang.Thread.run(Thread.java:595)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Can
not create inner bean '(inner bean)' of type [org.springframework.batch.core.job.flow.support.StateTransition] while
setting bean property 'stateTransitions' with key [0]; nested exception is org.springframework.beans.factory.BeanCrea
tionException: Error creating bean with name '(inner bean)': Cannot create inner bean '(inner bean)' of type [org.spr
ingframework.batch.core.job.flow.support.state.StepState] while setting constructor argument; nested exception is org
.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot resolve re
ference to bean 'runUpgradeBatch' while setting constructor argument; nested exception is org.springframework.beans.f
actory.BeanCreationException: Error creating bean with name 'runUpgradeBatch': FactoryBean threw exception on object
creation; nested exception is java.lang.NoSuchMethodError: org.springframework.batch.retry.policy.SimpleRetryPolicy.<
init>(I)V
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValue
Resolver.java:230)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefiniti
onValueResolver.java:122)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionVal
ueResolver.java:287)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefiniti
onValueResolver.java:126)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractA
utowireCapableBeanFactory.java:1245)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowire
CapableBeanFactory.java:1010)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowire
CapableBeanFactory.java:472)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapable
BeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCa
pableBeanFactory.java:380)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValue
Resolver.java:219)
... 25 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Can
not create inner bean '(inner bean)' of type [org.springframework.batch.core.job.flow.support.state.StepState] while
setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error crea
ting bean with name '(inner bean)': Cannot resolve reference to bean 'runUpgradeBatch' while setting constructor argu
ment; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'run
UpgradeBatch': FactoryBean threw exception on object creation; nested exception is java.lang.NoSuchMethodError: org.s
pringframework.batch.retry.policy.SimpleRetryPolicy.<init>(I)V
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValue
Resolver.java:230)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefiniti
onValueResolver.java:122)
at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResol
ver.java:479)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorRes
olver.java:353)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod
(AbstractAutowireCapableBeanFactory.java:903)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAu
towireCapableBeanFactory.java:817)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowire
CapableBeanFactory.java:440)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapable
BeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCa
pableBeanFactory.java:380)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValue
Resolver.java:219)
... 35 more