Java 在Spring批处理远程分块中使用面向分块的处理实现SkippableTasklet
我目前正在使用Spring批处理,希望使用远程分块 我使用面向块的处理,使用项目读取器、项目处理器和项目编写器,并希望实现跳过 我在这篇文章中读到,它告诉我创建Java 在Spring批处理远程分块中使用面向分块的处理实现SkippableTasklet,java,spring,spring-batch,Java,Spring,Spring Batch,我目前正在使用Spring批处理,希望使用远程分块 我使用面向块的处理,使用项目读取器、项目处理器和项目编写器,并希望实现跳过 我在这篇文章中读到,它告诉我创建skipabletasklet,但我有点搞不清楚如何实现受保护的抽象void run(JobParameters JobParameters)抛出异常 如何在此远程分块实现中实现skip?有几种方法可以处理可跳过的异常。 我是这样写的 <batch:step id="sendEmailStep"> <batch:
skipabletasklet
,但我有点搞不清楚如何实现受保护的抽象void run(JobParameters JobParameters)抛出异常代码>
如何在此远程分块实现中实现skip?有几种方法可以处理可跳过的异常。
我是这样写的
<batch:step id="sendEmailStep">
<batch:tasklet>
<bean class="com.myproject.SendEmail" scope="step" autowire="byType">
<batch:skippable-exception-classes>
<batch:include class="org.springframework.mail.MailException" />
</batch:skippable-exception-classes>
</bean>
</batch:tasklet>
<batch:listeners>
batch:listener ref="skippableListener'/>
</batch:listeners>
</batch:step>
<bean id="skippableListener" class="SkippableListener/>
public class SkippableListener implements SkipListener
{
void onSkipInProcess(T item, java.lang.Throwable t){
//Write your logic
};
void onSkipInRead(java.lang.Throwable t){
//Write your logic
};
void onSkipInWrite(S item, java.lang.Throwable t){
//Write your logic
};
}
批处理:listener ref=“skipablelistener'/>
我尝试了,但在TaskletStep中它不起作用,这个问题也说明它不起作用。链接给出了不同的解决方案。这也很好。我的解决方案是使用侦听器。这对我很好,并在生产中运行。感谢投赞成票。