美文网首页spring-batch
spring batch 3:Flow step简单介绍

spring batch 3:Flow step简单介绍

作者: 代码行间的无聊生活 | 来源:发表于2017-02-14 00:33 被阅读94次

    简单的step无法满足我们的要求,比如优惠券到账业务。根据需求拆分为2部分,即到账业务与到账通知业务。那么我们需要先执行到账再执行通知,这里就需要用到Flow Step。
    Flow Step的使用配置与一般的没什么不同唯一需要注意的是作为入口的job的地方。

    <!--允许任务重启:restartable="true" -->
    <batch:job id="tranIntoAccountJob" restartable="true">
            <!--定义Flow Step -->
            <batch:flow id="doTranIntoFlow" parent="tranIntoFlow" />
        </batch:job>
        <batch:flow id="tranIntoFlow" >
            <!--<batch:step id="doMaster" parent="tranIntoMaster"/>-->
            <batch:step id="tranIntoMaster"  next="tranInfoDB"  >
                <batch:partition step="tranInfoDB" partitioner="tranIntoAccountPartitioner" >
                    <batch:handler  grid-size="10" task-executor="taskExecutor"  />
                </batch:partition>
                <batch:listeners  >
                    <batch:listener ref="pickUpListener"  before-step-method="beforeStep"   />
                </batch:listeners>
            </batch:step>
            <!-- 红包到账 -->
    
            <batch:step id="tranInfoDB" next="tranInfoStep"  >
                <batch:tasklet transaction-manager="main_txManager">
                    <batch:chunk reader="tranIntoAccountReader"  writer="tranIntoAccountWriter"   processor="tranIntoAccountProcessor"
                                 commit-interval="100">
                    </batch:chunk>
                </batch:tasklet>
            </batch:step>
    
            <!-- 发送到账模板 -->
            <batch:step id="tranInfoStep" >
                <batch:tasklet transaction-manager="main_txManager" >
                    <batch:chunk reader="tranIntoTemplateReader" writer="noticeInfoWriter" processor="tranIntoTemplateProcessor"
                                 commit-interval="100" >
                    </batch:chunk>
                </batch:tasklet>
            </batch:step>
        </batch:flow>
        <!-- 监听用户读取红包信息 -->
        <bean id="redExpireDetailListener" class="com.cwenao.cc.scheduler.batch.listener.RedExpireDetailListener" >
        </bean>
    
    附录
    [IBM developerworks](http://www.ibm.com/developerworks/cn/java/j-lo-springbatch2/)
    《Spring Batch in Action》
    

    如有疑问请加公众号(K171),如果觉得对您有帮助请 github start

    公众号_k171

    相关文章

      网友评论

        本文标题:spring batch 3:Flow step简单介绍

        本文链接:https://www.haomeiwen.com/subject/uzztwttx.html