基于内容的路由和java批处理JSR 352(jBeret,Spring Batch)?

时间:2018-01-19 12:40:16

标签: jsr352 java-batch jberet

基于内容的路由和Java批处理JSR 352jBeretSpring Batch)?

试图实现一些简单的现实世界"批量工作,因为"你好世界"看起来很有希望。 似乎我没有把这个概念弄好 - 但实际的释放缝对于#34;现实世界"实例

- read 5mio lines (ItemReader works fine)
- write to three different filed/resources based on the content of the line read

"直观"方式是:

  • 配置三位撰稿人(例如ItemWriterAItemWriterBItemWriterC)。 但是:有一个作家可以分块 - 为什么这个限制?

  • 根据您的决定添加决策并使用作者。 但是:决定不能包含在cunk中 - 为什么会出现这种限制?

使用Java Batch JSR 352执行此操作的正确方法是什么? 任何提示都是受欢迎的。

Java Batch - as could be

1 个答案:

答案 0 :(得分:1)

您需要在单个ItemWriter中实现逻辑。规范定义的框架对您没有帮助。 SpringBatch有一个CompositeItemWriter,它有助于这种用例,虽然它是特定于SpringBatch的,并且不适用于像Liberty这样的其他JSR 352实现(或者据我所知,JBeret)。

在规范中不包括“儿童作家”的一个理由是,就像你的情况一样,这个想法是有特定于应用程序的逻辑来决定是否给孩子们写(或不)。但这是一个JSR 352可以使用更多样本并可能增强规范本身的领域。

这不是一个好的答案,但我不想在没有答案的情况下留下问题。