Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将基于SQL更新的应用程序转换为基于java规则的应用程序_Java_Lucene_Rhino_Rule Engine - Fatal编程技术网

将基于SQL更新的应用程序转换为基于java规则的应用程序

将基于SQL更新的应用程序转换为基于java规则的应用程序,java,lucene,rhino,rule-engine,Java,Lucene,Rhino,Rule Engine,我有一个以数据为中心且对数据敏感的应用程序,它是用java编写的,但几乎所有的业务逻辑都保存在.sql文件中 这些sql文件逐个执行,临时表由这些sql文件创建和更新 在内部,这些sql文件使用各种条件下的可用数据值对临时表进行更新查询 最后,临时表被转储到一个物理表中 我们正计划将其转移到基于java规则的应用程序中,因为sql脚本越来越庞大,越来越难以理解和维护 计划使用Lucene及其RAMDiirectory将所有数据存储在内存中,构建规则的首选方法是什么(这些都是sql中的更新查询)

我有一个以数据为中心且对数据敏感的应用程序,它是用java编写的,但几乎所有的业务逻辑都保存在.sql文件中

这些sql文件逐个执行,临时表由这些sql文件创建和更新

在内部,这些sql文件使用各种条件下的可用数据值对临时表进行更新查询

最后,临时表被转储到一个物理表中

我们正计划将其转移到基于java规则的应用程序中,因为sql脚本越来越庞大,越来越难以理解和维护

计划使用Lucene及其RAMDiirectory将所有数据存储在内存中,构建规则的首选方法是什么(这些都是sql中的更新查询)

我们希望@scripting语言具有动态规则,但是脚本(rhino/groovy) 与sql文件具有相同的特性(难以编写和维护)

请发表你的建议


提前谢谢

我们公司使用。对我们来说真的很棒。Drools通常让您以基于XML的格式编写规则,但我们只是扩展了它们的一些类,以便用Java编写规则(允许我们在运行时调试规则)。

我们还使用JBoss规则/Drools。较新版本(>4.0.0)有一个很好的DSL,可读性和可维护性都很好。不需要更多的XML。

感谢您的回复,但是如果有这样一个场景,我没有定义良好的工作流程,并且我的规则/驱动条件被嵌入到一堆令人恐惧的查询中,这会是一个不错的选择吗。我建议你流口水。它作为一个规则引擎工作得非常好。如果您对工作流程感兴趣并将其与web集成,那么我将研究另一个JBoss产品——Seam。我们只在JSF端使用Seam,但它看起来与Hibernate和JBPM集成得非常好,我猜它也会与Drools集成得很好。但如果你只想要接缝的一部分,那么我不一定会选择它。这取决于你在做什么。