这是我的流口水验证问题的第二部分。第一部分已经回答,我的代码中已经实现了建议的解决方案。
这是我的java类结构
public class Person {
List<PersonAddress> personAddress;
List<FinanceDetails> financeDetails;
}
public enum AddressStatus {
CURRENT, PREVIOUS;
}
public enum AddressType {
PHYSICAL, POSTAL;
}
public enum AddressUseType {
HOME, OFFICE;
}
public class PersonAddress{
Address address;
AddressType type
AddressStatus status
AddressUseType useType
String ownerShipType
Integer timeAtAddress;
}
public class Address {
String city;
String country;
String street;
}
public class FinanceDetails {
String financeItemName;
BigDecimal itemValue;
}
好的,我的问题是,如果FinanceItemName为“土地或建筑物”,并且该用户的地址符合以下条件,则我需要验证FinanceDetails实例的itemValue,
AddressStatus ==当前
AddressType ==物理
AddressUseType == HOME
ownerShipType ==“拥有”
Drools版本5.5.0.Final
Java 1.7
可以使用的功能
需要样本流口水规则语法。谢谢
添加了itemValue测试,如评论所示
rule "land-orbuilding..."
when
Peson( $financeDetails: financeDetails, $personAddress: personAddress )
FinanceDetails( financeItemName == "Land or Building", itemValue == null || itemValue == 0 ) from $financeDetails
PersonAddress( status == AddressStatus.CURRENT,
type == AddressType.PHYSICAL,
useType == AddressUseType.HOME,
ownerShipType == "Own" ) from $personAddress
then
//...
end
如何阅读其中一些文档?这非常类似于“第一部分”,只有很小的变化。
我不太会流口水和咕噜。 我有一个关于规则流的基本问题。 我在guvnor插件上使用引导编辑器创建了3条规则。现在我想根据第一条规则的结果调用第二条或第三条规则。 e、 g.如果患者年龄小于18岁,则进行第二条规则的小检查,否则请调用第三条规则由高级医生进行检查。 那么,这可以通过使用规则流来实现吗?如果是,如何?是否有任何示例链接和文档来演示它?非常感谢您的帮助。 谢啦
我正在使用Spring MVC和Drools expert。spring版本4.0。0 drools版本(6.0.1) 我正在使用RAD 8和WAS 8 应用程序启动失败,出现异常(见下文) spring集成在批处理模式下工作正常。当我从web应用程序调用它时,当我将kie后处理器添加到应用程序上下文时,web应用程序就会失败。 这是堆栈跟踪。
我在Scala/Spark中有一个批处理作业,它根据一些输入动态创建Drools规则,然后评估规则。我还有一个与要插入到规则引擎的事实相对应的输入。 到目前为止,我正在一个接一个地插入事实,然后触发关于这个事实的所有规则。我正在使用执行此操作。 seqOp运算符的定义如下: 以下是生成的规则的示例: 对于同一RDD,该批次花了20分钟来评估3K规则,但花了10小时来评估10K规则! 我想知道根据事
我有一个关于SPOCK+Drools测试的问题。事情是这样的, 我正在部署的webapp W/O中运行测试(如果这有任何意义的话:))。我将jar添加到类路径中(而不是WEB-INF/libs),现在运行良好。
目标:我想坚持/重复使用一次为射击规则创建的流口水知识会话。 问题:我想使用包含10000多条规则的决策表创建一个知识会话。创建此会话并每次都将其关闭是不可行的,我希望在创建会话后存储该会话,该会话可以通过密钥识别,并反复使用此会话。我已经尝试过drools的jpa知识服务和kie的编组,但这两种方法都不起作用。它需要一个KnowledgeBase实例,而每次使用drools表创建一个新的Know
我有一个drl文件,它在两个规则流组中包含规则:“第一个规则流组”和“第二个规则流组”。这些组的激活取决于“规则A”和“规则B”。是否有任何方法可以停用规则B,以便在规则A条件匹配时触发,从而仅将焦点设置为“第一个规则流组”?