就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭9年前。我们正在着手开发一个模块,该模块将根据某些标准生成一些建议。标准将采用一组业务规则的形式,因此我正在考虑使用像Drools(开源和java:-)这样的业务规则引擎)我们需要快速学习Drools(2-3周)并能够使用JBossDrools实现规则。我们应该遵循哪些文章、教程、书籍和最佳实践? 最佳答案
我刚刚开始使用Drools(5.1.0版),如果这个问题已经得到解答,请多多包涵。我有一个java.util.List对象,它包含复杂类型A的对象,其中A为:classA{Stringname;StringValue;}列表及其元素都在Drools引擎的工作内存中。是否有一种简单的方法可以仅在列表中元素的名称和值与特定值匹配时触发规则?目前,我在Drools规则中使用自定义函数,它遍历列表并在有符合规范的元素时返回true,但我想知道这是否是最有效和最简单的使用方式。 最佳答案 如果A实例如您所说(理想情况)在工作内存中,则只需使用
C++或C#中的optaplanner/droolsplanner是否有类似的替代方案?我只找到了一个非常古老的2007年的C#移植版。或者如何解决C++/C#中的NP-hard优化问题? 最佳答案 关于OptaPlanner邮件列表中,人们曾询问过有关使用.NET中的OptaPlanner的问题。如果您有兴趣追求那个方向(并且它符合您的要求),这里有一些想法:在Java中,将OptaPlanner实现公开为REST服务(使用RestEasy和/或Camel)。使用JAXB(或XStream)将域对象映射到XML。然后使用C#客户端
我们能够成功地将drools与spark集成,当我们尝试应用来自Drools的规则时,我们能够对存在于HDFS中的批处理文件执行操作,但是我们尝试将drools用于流文件,以便我们可以立即做出决定,但我们不知道该怎么做。下面是我们试图实现的代码片段。案例1:。SparkConfconf=newSparkConf().setAppName("sample");JavaSparkContextsc=newJavaSparkContext(conf);JavaRDDjavaRDD=sc.textFile("/user/root/spark/sample.dat");Liststore=new
我一直在评估Drools作为用于我们的业务Web应用程序的规则引擎。我的用例是订单管理应用程序。规则如下:-如果用户类型是“特殊”,则给予额外5%的折扣。-如果用户已经购买了10次以上,则给予额外3%的折扣。-如果产品类别为“旧”,则向用户赠送值(value)5美元的礼篮。-如果产品类别为“NEW”,则向用户赠送值(value)1美元的礼篮-如果用户过去购买超过1000美元,则免运费我看到的直接挑战是:-我无法向最终用户提供有意义的UI来修改规则。-从最终用户的角度来看,GuvnorUI或任何修改drl文件的编辑器都是NotAcceptable-这些规则中的大多数将对数据库中可用的大量
当我尝试在Drools规则中导入MultiMap时,它导致了以下错误[11,25]:[ERR102]Line11:25mismatchedinput'COLLECT'expecting'identifier'inimport有人知道如何在Drools规则中导入任何com.google.common.collect吗?附言问题解决如果有人感兴趣,您应该使用如下反引号com.google.common.`collect`.Multimap 最佳答案 问题已解决如果有人有兴趣你应该像下面这样使用反引号com.google.common.`
我正在将Drools规则引擎集成到我的应用程序中。我发现99%的入门示例如下所示:KnowledgeBuilderkbuilder=KnowledgeBuilderFactory.newKnowledgeBuilder();kbuilder.add(ResourceFactory.newUrlResource(url),ResourceType.DRL);if(kbuilder.hasErrors()){System.err.println(builder.getErrors().toString());}KnowledgeBasekbase=KnowledgeBaseFactory.
我遇到一个问题,其中drools规则的when子句抛出MethodNotFoundException。我正在寻找一种方法来确定它在运行时是哪条规则,以便能够将其从要使用的规则列表中删除。规则示例Rule"FooBar"when$V1:Foo()AND$V2:FooBar()from$V1.getGoodMethod()AND$V3:FooBarBar(status=="FooBar")from$V2.getBadMethod()reply:FooFooBar()thenreply.getList().add("FooBar");end因此,FooBar上的getBadMethod不存在
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭8年前。Improvethisquestion采用Java规则引擎的优缺点是什么JESS和Drools?还有其他玩家吗?我知道Drools是开源的,而JESS不是,但它们在易用性、性能、与您的代码的集成程度等其他方面如何比较? 最佳答案 WhataretheprosandconstoadoptingtheJavarulesenginesJESSandDrools?如果您需要将业务规
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭8年前。Improvethisquestion采用Java规则引擎的优缺点是什么JESS和Drools?还有其他玩家吗?我知道Drools是开源的,而JESS不是,但它们在易用性、性能、与您的代码的集成程度等其他方面如何比较? 最佳答案 WhataretheprosandconstoadoptingtheJavarulesenginesJESSandDrools?如果您需要将业务规