我在之前的项目中分别使用了spring-batch和drools。在我目前的项目中,我有一个设计,我需要处理多达500k xml对象,将它们转换为jaxB,对每个对象应用规则(规则本身相当简单:比较属性并更新'通知'中的两个标志对象),最后发送一个事件,以便一个spring web流视图模型(可以是一个监听器)将自行更新。这不是设计的 要求,但它是我实现的: 1)ItemReader(JaxB) 2)ItemProcessor:-maps到ksession(有状态)并基于drl文件触发规则。 3)ItemWriter:准备必要的清理并提出适当的事件
在我看来逻辑本身是直截了当的,但是当我添加批处理作业的所有胶合代码:itemReader,Itemprocessor等时,一个简单的规则不起作用。此外,在阅读了几个论坛之后,看起来RETE algo在批量应用程序上不会很好地扩展。
总之,流口水是在春季批量中集成基本规则框架的最佳方式,还是有任何轻量级替代方案?
答案 0 :(得分:1)
无需 任何 Rules Framework
。这就是Spring Batch的ItemProcessor
用于
来自ItemProcessor
JavaDocs:
“..一个扩展点,允许在面向项目的处理场景中应用业务逻辑”
不需要使用Drools或任何其他规则引擎使事情复杂化,除非你真的需要它=>例如有几十个/几百个复杂的规则+对代码来说并不容易。
答案 1 :(得分:0)