美文网首页
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