【问题标题】:SPRING BATCH : dynamic commit-intervalSPRING BATCH:动态提交间隔
【发布时间】:2016-10-18 00:30:58
【问题描述】:

我需要知道如何在我的批处理中以编程方式(在 java 类而不是 xml 中)设置提交间隔。我的程序如下:

    // loop on lines information from flat file
    // treatement on line
    // commit

库中是否有允许在 java 类中提交的方法?

感谢您的帮助

【问题讨论】:

    标签: spring spring-batch flat-file


    【解决方案1】:

    您需要定义自己的自定义CompletionPolicy。然后在分块步骤中将其设置为 chunk-completion-policy

    这个old forum 有一个示例实现。

    【讨论】:

    • 感谢您的回答,它给了我一个提示。看着旧论坛链接中的示例,我不明白调度类和 invokePeek() 方法的用处。如果有他们的实现就好了。
    • 他们使用peek() 将正在处理的项目与行中的下一个项目进行比较,并确定它是否应该在同一个提交中。如果它应该在不同的块中,那么isComplete() 将返回true
    • 在该示例中,阅读器和 completionPolicy 实现在同一个类中。就我而言,我需要读取行进行一些处理并写入数据库,然后每次更改我的行中的特殊数据(在此示例中为日期)时进行提交。我应该将 reader 和 completionPolicy 分开吗?在我的情况下,还有其他可以帮助我的例子吗?提前致谢
    • 我在这里提供更多细节和我的源代码:stackoverflow.com/questions/37922390/…
    猜你喜欢
    • 2019-09-26
    • 2015-12-10
    • 2011-10-11
    • 2015-10-15
    • 2014-08-13
    • 1970-01-01
    • 2018-05-14
    • 1970-01-01
    • 2016-09-16
    相关资源
    最近更新 更多