问题环境与JavaEE,Spring有关
我正在开发一个系统,该系统可以启动和停止传入消息的任意TCP(或其他)侦听器。可能需要验证这些消息。这些消息需要解析并存储在其他一些实体中。这些实体对它们存储的字段进行建模。
因此,例如,如果我有可以包含两个文本字段FillLevel1和FillLevel2的property1,则我可以在TCP上接收到消息,消息中两个填充级别在文本中均指定为F1 = 100; F2 = 90
稍后,当我开始接收消息F1 = xx; F2 = xx; F3 = xx时,我可以添加另一个文件,例如FillLevel3。但这是系统建模者的有意识决定。
我的问题是,您认为哪种方法更适合解析和存储消息。 ETL(使用在其他系统中使用的Pantaho)在其中存储原始消息,并使用任务执行程序逐一使用它们,并根据您的规则存储转换后的消息。
一个人可以使用Espr或Drools来做同样的事情,存储规则并使用计时器执行它们,但是我不确定制定规则会带来多大的动态(最终用户必须在运行的系统中进行制定,最好是在大多数系统中用户友好的方式,即没有脚本或代码,只有GUI)
最终用户应该能够更改解析规则。最终用户也有可能也想更改存档的数据(例如,在上面的示例中,如果添加了新的FillLevel值,则希望在以前的值中添加FillLevel = -99来生成数据一致)。
请要求解释,我觉得我需要稍微修改一下这个问题。
谢谢
最佳答案
Esper是一个很棒的CEP引擎,但是drools有它自己的实现Drools Fusion,它与jBpm集成得很好。那将是一个不错的选择。
关于spring - ETL,Esper还是Drools?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2841743/