배치프레임웍을 적용하면서 재시도 관련하여 설정을 하다보니
궁금한 점이 몇가지 있어서요..
우선, 스텝 설정은 대략 아래와 같습니다
<step id="step2" parent="stepParent">
<tasklet>
<chunk reader="syncItemReader"
processor="syncItemProcessor"
writer="syncItemWriter"
commit-interval="1" skip-limit="10">
<skippable-exception-classes>
java.lang.Exception
</skippable-exception-classes>
</chunk>
</tasklet>
</step>
<bean id="stepParent"
class="org.springframework.batch.core.step.item.FaultTolerantStepFactoryBean"
abstract="true">
<property name="retryPolicy">
<bean
class="org.springframework.batch.retry.policy.NeverRetryPolicy" />
</property>
</bean>
첫시도만 허용하고 재시도는 없도록 설정하려고 위와 같이 설정했으나
로딩이 제대로 되지 않고 있습니다
심각: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'step2': Error setting property values; nested
exception is org.springframework.beans.NotWritablePropertyException:
Invalid property 'retryPolicy' of bean class
[org.springframework.batch.core.configuration.xml.StepParserStepFactoryBean]:
Bean property 'retryPolicy' is not writable or has an invalid setter
method. Does the parameter type of the setter match the return type of
the getter?
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues
(AbstractAutowireCapableBeanFactory.java:1279)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean
(AbstractAutowireCapableBeanFactory.java:1010)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean
(AbstractAutowireCapableBeanFactory.java:472)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean
(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory
$1.getObject(AbstractBeanFactory.java:264)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton
(DefaultSingletonBeanRegistry.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
(DefaultListableBeanFactory.java:423)
at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization
(AbstractApplicationContext.java:728)
at
org.springframework.context.support.AbstractApplicationContext.refresh
(AbstractApplicationContext.java:380)
at
org.springframework.web.context.ContextLoader.createWebApplicationContext
(ContextLoader.java:255)
at
org.springframework.web.context.ContextLoader.initWebApplicationContext
(ContextLoader.java:199)
...more
FaultTolerantStepFactoryBean 클래스에는 'retryPolicy' 의 setter가 존재하는데
StepParserStepFactoryBean라는 빈에서 에러가 발생합니다
구글 검색을 통해선 도무지 원인을 찾을 수가 없네요..
참고로, 특정 재시도 정책을 적용하기 위해 저와 같은 설정이 맞는건지
조언을 주시면 감사하겠습니다
(모든 exception에 대해서 skip 하되, 재시도는 하지 않도록 설정하려고 합니다)
답변 부탁드립니다
--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.