美文网首页
drools应用

drools应用

作者: wz的技术窝 | 来源:发表于2019-07-27 19:33 被阅读0次

    1.相关教程

    相关教程:

    https://www.cnblogs.com/atomicbomb/p/7251814.html

    2.简单规则开发

    开发主要分为几个部分:

    pom引入:

    <!--Drools-->

    <dependency>

       <groupId>org.kie</groupId>

       <artifactId>kie-api</artifactId>

       <version>${drools.version}</version>

    </dependency>

    <dependency>

       <groupId>org.drools</groupId>

       <artifactId>drools-core</artifactId>

       <version>${drools.version}</version>

    </dependency>

    <dependency>

       <groupId>org.drools</groupId>

       <artifactId>drools-compiler</artifactId>

       <version>${drools.version}</version>

    </dependency>

    <dependency>

       <groupId>org.drools</groupId>

       <artifactId>drools-decisiontables</artifactId>

       <version>${drools.version}</version>

    </dependency>

    <dependency>

       <groupId>org.drools</groupId>

       <artifactId>drools-templates</artifactId>

       <version>${drools.version}</version>

    </dependency>

    规则编写

    1.简单规则:

    举例如下

    package drools

    import drools.Message

    dialect "mvel"

    rule "hello world"

    dialect "mvel"

    when

      m:Message(status.equals(Message.HELLO),message : info)

      then

      System.out.println(message);

      modify(m){info="goodbye wz"+message,status=Message.GOODBYE}

       end

    rule "good bye"

    dialect "java"

    when

    Message(status==Message.GOODBYE,message:info)

    then

       System.out.println(message);

     end

    相关语法在教程中有介绍

    简单介绍一下

    第一个规则:

    根据传入的message。如果状态等于hello。并且给info赋值到message

    然后打印message结果。更新message的info,设置状态为goodbye,放置到drools上下文。采用update进行更新上下文

    第二个规则:

    当message状态为goodbye时,打印message

    规则配置

    放置位置:

    <kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">

    <kbase name="rules" packages="rules">

    <ksession name="ksession-rules"/>

    <kbase name="rulesitemsimple" packages="rulesitemsimple">

    <ksession name="ksession-itemsimple"/>

    </kmodule>

    规则加载触发

    上下文销毁 

    最后需要delete掉fact,释放当前资源

    相关结果:

    3.复杂场景

    根据订单列表数量进行数量判断并设置优先级。更新顾客等级。

    相关文章

      网友评论

          本文标题:drools应用

          本文链接:https://www.haomeiwen.com/subject/oqtyrctx.html