Spring Batch Step 流程

Spring Batch Step 流程–Start顺序流程(SequentialFlow)<jobid="job"><stepid="stepA"parent="s1"next="stepB"/><stepid="stepB"parent="s2"next="stepC"/><stepid="ste

大家好,又见面了,我是你们的朋友全栈君。

– Start
点击此处观看本系列配套视频。


顺序流程(Sequential Flow)

<job id="job">
    <step id="stepA" parent="s1" next="stepB" />
    <step id="stepB" parent="s2" next="stepC"/>
    <step id="stepC" parent="s3" />
</job>

这里写图片描述

条件流程(Conditional Flow)

<job id="job">
    <step id="stepA" parent="s1">
        <next on="*" to="stepB" />
        <next on="FAILED" to="stepC" />
    </step>
    <step id="stepB" parent="s2" next="stepC">
		<fail on="FAILED" exit-code="EARLY TERMINATION"/>
	</step>
    <step id="stepC" parent="s3">
		<stop on="COMPLETED"/>
		<end on="FAILED"/>
	</step>
</job>

这里写图片描述

自定义流程(Programmatic Flow Decisions)

首先,继承 JobExecutionDecider,自定义流程.

public class MyDecider implements JobExecutionDecider {
    public FlowExecutionStatus decide(JobExecution jobExecution, StepExecution stepExecution) {
        if (someCondition) {
            return "FAILED";
        }
        else {
            return "COMPLETED";
        }
    }
}

然后就可以使用这个流程了。

<job id="job">
    <step id="step1" parent="s1" next="decision" />

    <decision id="decision" decider="decider">
        <next on="FAILED" to="step2" />
        <next on="COMPLETED" to="step3" />
    </decision>

    <step id="step2" parent="s2" next="step3"/>
    <step id="step3" parent="s3" />
</job>

<beans:bean id="decider" class="com.MyDecider"/>

并行流程(Split Flow)

<split id="split1" next="step4">
    <flow>
        <step id="step1" parent="s1" next="step2"/>
        <step id="step2" parent="s2"/>
    </flow>
    <flow>
        <step id="step3" parent="s3"/>
    </flow>
</split>
<step id="step4" parent="s4"/>

更多参见:Spring Batch 精萃
– 声 明:转载请注明出处
– Last Updated on 2017-07-24
– Written by ShangBo on 2017-07-24
– End

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145022.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • leetcode 最长有效括号_字符指针赋值为什么不能加大括号

    leetcode 最长有效括号_字符指针赋值为什么不能加大括号给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例 1:输入:s = “(()”输出:2解释:最长有效括号子串是 “()”示例 2:输入:s = “)()())”输出:4解释:最长有效括号子串是 “()()”示例 3:输入:s = “”输出:0题解括号匹配:(看作+1,)看作-1,所有满足条件的括号应该是前缀和>=0,并且总和==0class Solution {public: const int INF =

    2022年8月8日
    3
  • 学员管理系统(完整版)

    前言:学员管理系统是刚接触python时算是一个比较难的小项目,毕竟第一次接触这样的思维逻辑,不过用心学起来还是很有趣的,发现乐在其中,也就不觉得难了。下面给大家分享一下学员管理系统较为完整的代码(当然其中肯定有很多不足,毕竟是新手,菜鸟小程序猿,还请见谅!多谢!)言归正传:学员管理拆分为一下步骤:首先:先定义存储所有学员信息的大列表students=[]添加学员,代码如下:查…

    2022年4月5日
    78
  • RNN训练算法BPTT介绍

    RNN训练算法BPTT介绍 本篇文章第一部分翻译自:http://www.wildml.com/2015/10/recurrent-neural-networks-tutorial-part-3-backpropagation-through-time-and-vanishing-gradients/,英文好的朋友可以直接看原文。最近看到RNN,先是困惑于怎样实现隐藏层的互联,搞明白之后又不太明白如何使用BPTT进…

    2022年6月23日
    30
  • 下载安装cygwin_ansys17安装教程详细

    下载安装cygwin_ansys17安装教程详细windows下安装cygwin软件详细过程

    2022年10月31日
    0
  • idea使用git stash

    idea使用git stashgitstash当我们使用git时,常遇到在自己分支上开发到一半,不想commit,但又不得不切换到别的分支进行操作,为了保留本地的修改git,提供了gitstash的相关命令,可以用来保护现场。idea使用gitstash例如我在dev分支尚未开发完,文件还未commit,我又必须切换至主分支进行bug修复,于是我们可以使用gitstashstash以后文件会回到改动前的…

    2022年6月23日
    58
  • 深入浅出谈开窗函数(一)

    深入浅出谈开窗函数(一)

    2021年11月29日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号