Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Spring批处理远程分块中使用面向分块的处理实现SkippableTasklet_Java_Spring_Spring Batch - Fatal编程技术网

Java 在Spring批处理远程分块中使用面向分块的处理实现SkippableTasklet

Java 在Spring批处理远程分块中使用面向分块的处理实现SkippableTasklet,java,spring,spring-batch,Java,Spring,Spring Batch,我目前正在使用Spring批处理,希望使用远程分块 我使用面向块的处理,使用项目读取器、项目处理器和项目编写器,并希望实现跳过 我在这篇文章中读到,它告诉我创建skipabletasklet,但我有点搞不清楚如何实现受保护的抽象void run(JobParameters JobParameters)抛出异常 如何在此远程分块实现中实现skip?有几种方法可以处理可跳过的异常。 我是这样写的 <batch:step id="sendEmailStep"> <batch:

我目前正在使用Spring批处理,希望使用远程分块

我使用面向块的处理,使用项目读取器、项目处理器和项目编写器,并希望实现跳过

我在这篇文章中读到,它告诉我创建
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中它不起作用,这个问题也说明它不起作用。链接给出了不同的解决方案。这也很好。我的解决方案是使用侦听器。这对我很好,并在生产中运行。感谢投赞成票。