首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >直接在java中使用drools、规则

直接在java中使用drools、规则
EN

Stack Overflow用户
提问于 2019-01-04 02:07:11
回答 1查看 467关注 0票数 1

是否有任何方法通过在java中直接和完全实现规则条件来使用drools,就像在

https://github.com/j-easy/easy-rules (请参阅“声明方式”和“编程方式”一节)

就像这样:

代码语言:javascript
复制
@Rule(name = "weather rule", description = "if it rains then take an umbrella" )
public class WeatherRule {

@Condition
public boolean itRains(@Fact("rain") boolean rain) {
    return rain;
}

@Action
public void takeAnUmbrella() {
    System.out.println("It rains, take an umbrella!");
}
}

或者也许

代码语言:javascript
复制
Rule weatherRule = new RuleBuilder()
    .name("weather rule")
    .description("if it rains then take an umbrella")
    .when(facts -> facts.get("rain").equals(true))
    .then(facts -> System.out.println("It rains, take an umbrella!"))
    .build();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-11 11:38:47

最近增加了一个新特性,使用户能够在Java模型1中表示规则,您可以使用该特性在普通Java中构建规则。有一个测试类,您可以检查以查看一些示例。请看这里2,您可以选择从PatternDSL或FlowDSL (什么更适合您)。

要获得具有KieBase规则的Java,您可以这样做(如链接文档中所述):

代码语言:javascript
复制
Model model = new ModelImpl().addRule( rule );
KieBase kieBase = KieBaseBuilder.createKieBaseFromModel( model );

1

2

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54032296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档