package com.xiongpeng.test;
import com.xiongpeng.entity.Customer;
import com.xiongpeng.entity.Order;
import com.xiongpeng.entity.Person;
import org.drools.core.base.RuleNameEndsWithAgendaFilter;
import org.drools.core.base.RuleNameEqualsAgendaFilter;
import org.junit.Test;
import org.kie.api.KieServices;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
import org.kie.api.runtime.rule.QueryResults;
import org.kie.api.runtime.rule.QueryResultsRow;
import java.util.ArrayList;
import java.util.List;
public class TestDrools {
@Test
public void test1() {
//第一步
//获取服务
KieServices kieServices = KieServices.Factory.get();
//第二步
//获取服务容器
KieContainer kieContainer = kieServices.getKieClasspathContainer();
//第三步
//会话对象,⽤于和规则引擎交互
KieSession kieSession = kieContainer.newKieSession();
//构造订单对象,设置订单⾦额,由规则引擎计算获得的积分
Order order = new Order();
order.setAmout(200);
//第四步
//将数据交给规则引擎,规则引擎会根据提供的数据进⾏规则匹配
kieSession.insert(order);
//第五步
//激活规则引擎,如果匹配成功则执⾏规则
kieSession.fireAllRules();
//第六步
// 关闭会话
kieSession.dispose();
//打印结果;
System.out.println("订单提交之后积分:" + order.getScore());
}
@Test
public void test2() {
KieServices kieServices = KieServices.Factory.get();
KieContainer kieContainer = kieServices.getKieClasspathContainer();
//会话对象,⽤于和规则引擎交互
KieSession kieSession = kieContainer.newKieSession();
//构造订单对象,设置订单⾦额,由规则引擎计算获得的积分
Order order = new Order();
//匹配规则:$order:Order();
kieSession.insert(order);
Customer customer = new Customer();
List<Order> orderList = new ArrayList<Order>();
//匹配规则: $customer:Customer(orderList contains $order);
// orderList.add(order);
customer.setOrderList(orderList);
customer.setName("Jack");
//将数据交给规则引擎,规则引擎会根据提供的数据进⾏规则匹配
kieSession.insert(customer);
//激活规则引擎,如果匹配成功则执⾏规则
kieSession.fireAllRules();
//关闭会话
kieSession.dispose();
}
@Test
public void test3() {
KieServices kieServices = KieServices.Factory.get();
KieContainer kieContainer = kieServices.getKieClasspathContainer();
//会话对象,⽤于和规则引擎交互
KieSession kieSession = kieContainer.newKieSession();
//构造订单对象,设置订单⾦额,由规则引擎计算获得的积分
Order order = new Order();
//匹配规则:$order:Order();
kieSession.insert(order);
Customer customer = new Customer();
List<Order> orderList = new ArrayList<Order>();
//匹配规则: $customer:Customer(orderList contains $order);
// orderList.add(order);
customer.setOrderList(orderList);
customer.setName("Jack");
//将数据交给规则引擎,规则引擎会根据提供的数据进⾏规则匹配
kieSession.insert(customer);
//激活规则引擎,如果匹配成功则执⾏规则
kieSession.fireAllRules(new RuleNameEqualsAgendaFilter("rule4"));
//关闭会话
kieSession.dispose();
}
@Test
public void test4() {
KieServices kieServices = KieServices.Factory.get();
KieContainer kieContainer = kieServices.getKieClasspathContainer();
//会话对象,⽤于和规则引擎交互
KieSession kieSession = kieContainer.newKieSession();
//激活规则引擎,如果匹配成功则执⾏规则
kieSession.fireAllRules();
//关闭会话
kieSession.dispose();
}
@Test
public void test5() {
KieServices kieServices = KieServices.Factory.get();
KieContainer kieContainer = kieServices.getKieClasspathContainer();
//会话对象,⽤于和规则引擎交互
KieSession kieSession = kieContainer.newKieSession();
Customer customer = new Customer();
customer.setName("李四");
kieSession.insert(customer);
//激活规则引擎,如果匹配成功则执⾏规则
kieSession.fireAllRules();
//关闭会话
kieSession.dispose();
}
@Test
public void test6() {
KieServices kieServices = KieServices.Factory.get();
KieContainer kieContainer = kieServices.getKieClasspathContainer();
//会话对象,⽤于和规则引擎交互
KieSession kieSession = kieContainer.newKieSession();
Customer customer = new Customer();
customer.setName("李四");
kieSession.insert(customer);
//激活规则引擎,如果匹配成功则执⾏规则
kieSession.fireAllRules();
//通过规则过滤器实现只执⾏指定规则
// kieSession.fireAllRules(new RuleNameEqualsAgendaFilter("rule5"));
// 关闭会话
kieSession.dispose();
}
@Test
public void test7() {
KieServices kieServices = KieServices.Factory.get();
KieContainer kieContainer = kieServices.getKieClasspathContainer();
//会话对象,⽤于和规则引擎交互
KieSession kieSession = kieContainer.newKieSession();
Customer customer = new Customer();
customer.setName("张三");
kieSession.insert(customer);
//激活规则引擎,如果匹配成功则执⾏规则
kieSession.fireAllRules();
//激活规则引擎,如果匹配成功则执⾏规则
kieSession.fireAllRules();
// 关闭会话
kieSession.dispose();
}
//测试属性部分
@Test
public void test8() {
//设置修改默认的时间格式
System.setProperty("drools.dateformat", "yyyy-MM-dd");
KieServices kieServices = KieServices.Factory.get();
KieContainer kieContainer = kieServices.getKieClasspathContainer();
//会话对象,⽤于和规则引擎交互
KieSession kieSession = kieContainer.newKieSession();
//激活规则引擎,如果匹配成功则执⾏规则
kieSession.fireAllRules();
// 关闭会话
kieSession.dispose();
}
//测试属性部分
@Test
public void test9() {
//设置修改默认的时间格式
KieServices kieServices = KieServices.Factory.get();
KieContainer kieContainer = kieServices.getKieClasspathContainer();
//会话对象,⽤于和规则引擎交互
KieSession kieSession = kieContainer.newKieSession();
//激活规则引擎,如果匹配成功则执⾏规则
kieSession.fireAllRules();
// 关闭会话
kieSession.dispose();
}
//测试属性部分
@Test
public void test10() {
//设置修改默认的时间格式
KieServices kieServices = KieServices.Factory.get();
KieContainer kieContainer = kieServices.getKieClasspathContainer();
//会话对象,⽤于和规则引擎交互
KieSession kieSession = kieContainer.newKieSession();
kieSession.getAgenda().getAgendaGroup("002").setFocus();
//获得执⾏ 焦点
// 激活规则引擎,如果匹配成功则执⾏规则
kieSession.fireAllRules();
// 关闭会话
kieSession.dispose();
没有合适的资源?快使用搜索试试~ 我知道了~
drools代码示例包
共154个文件
xml:102个
class:13个
java:12个
需积分: 9 0 下载量 200 浏览量
2022-08-12
09:31:40
上传
评论
收藏 213KB ZIP 举报
温馨提示
https://blog.csdn.net/u013938578/article/details/125950738?spm=1001.2014.3001.5502 先关教程配套代码
资源详情
资源评论
资源推荐
收起资源包目录
drools代码示例包 (154个子文件)
TestDrools.class 7KB
DroolsConfig.class 4KB
TestWorkBench.class 3KB
OrderController.class 1KB
Order.class 1KB
RuleService.class 1KB
Order.class 1KB
Person.class 1KB
Customer.class 1KB
Order.class 1024B
TestDrools$1.class 789B
DemoApplication.class 733B
DemoApplicationTests.class 531B
mvnw.cmd 7KB
customer-rules.drl 2KB
customer-rules.drl 2KB
attributes-rules.drl 2KB
attributes-rules.drl 2KB
high-rules.drl 1KB
high-rules.drl 1KB
score-rules.drl 899B
score-rules.drl 899B
score-rules.drl 896B
score-rules.drl 896B
.gitignore 395B
order.html 1KB
order.html 1KB
demo.iml 11KB
maven-wrapper.jar 57KB
TestDrools.java 12KB
DroolsConfig.java 2KB
TestWorkBench.java 2KB
RuleService.java 636B
Order.java 619B
OrderController.java 601B
Person.java 555B
Order.java 541B
Order.java 538B
Customer.java 507B
DemoApplication.java 305B
DemoApplicationTests.java 206B
jquery-3.3.1.min.js 85KB
jquery-3.3.1.min.js 85KB
drools.kotlin_module 16B
HELP.md 429B
mvnw 10KB
.name 6B
maven-wrapper.properties 233B
application.properties 1B
application.properties 1B
workspace.xml 10KB
uiDesigner.xml 9KB
workspace.xml 8KB
pom.xml 2KB
compiler.xml 803B
pom.xml 801B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_3.xml 736B
Maven__org_kie_soup_kie_soup_project_datamodel_commons_7_6_0_Final.xml 735B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_7_2.xml 713B
Maven__org_kie_soup_kie_soup_project_datamodel_api_7_6_0_Final.xml 707B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 700B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_3.xml 695B
Maven__org_springframework_boot_spring_boot_starter_logging_2_7_2.xml 692B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_7_2.xml 685B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_3.xml 681B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_7_2.xml 678B
Maven__org_springframework_boot_spring_boot_starter_json_2_7_2.xml 671B
Maven__org_springframework_boot_spring_boot_starter_test_2_7_2.xml 671B
Maven__org_springframework_boot_spring_boot_starter_web_2_7_2.xml 664B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_65.xml 660B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_3.xml 651B
Maven__org_kie_soup_kie_soup_maven_support_7_6_0_Final.xml 651B
Maven__org_drools_drools_decisiontables_7_6_0_Final.xml 636B
Maven__org_springframework_boot_spring_boot_starter_2_7_2.xml 636B
Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml 633B
Maven__org_junit_platform_junit_platform_commons_1_8_2.xml 633B
Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml 633B
Maven__com_fasterxml_jackson_core_jackson_databind_2_13_3.xml 630B
Maven__org_junit_platform_junit_platform_engine_1_8_2.xml 626B
Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_65.xml 625B
Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml 615B
Maven__org_springframework_boot_spring_boot_test_2_7_2.xml 615B
Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml 615B
Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_65.xml 611B
Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml 611B
Maven__org_kie_soup_kie_soup_commons_7_6_0_Final.xml 609B
Maven__org_springframework_spring_expression_5_3_22.xml 609B
Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml 608B
Maven__org_apache_commons_commons_collections4_4_1.xml 605B
Maven__com_fasterxml_jackson_core_jackson_core_2_13_3.xml 602B
Maven__org_drools_drools_templates_7_6_0_Final.xml 601B
Maven__org_mockito_mockito_junit_jupiter_4_5_1.xml 598B
Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml 594B
Maven__org_drools_drools_compiler_7_6_0_Final.xml 594B
Maven__org_springframework_spring_context_5_3_22.xml 588B
Maven__net_bytebuddy_byte_buddy_agent_1_12_12.xml 585B
Maven__org_springframework_spring_webmvc_5_3_22.xml 581B
Maven__org_springframework_boot_spring_boot_2_7_2.xml 580B
Maven__org_apache_commons_commons_lang3_3_12_0.xml 577B
kmodule.xml 576B
共 154 条
- 1
- 2
不死鸟.亚历山大.狼崽子
- 粉丝: 5825
- 资源: 34
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- mybatis中的动态sql, 涉及 where trim set if foreach等
- 简单- 快递运输(Java & JS & Python & C).html
- mybatis框架 更改ems系统,使用动态sql等.zip
- 易语言工具条下拉菜单实现
- Mybatis动态SQL高级映射.zip
- 源码esp8266开发板机智云机智云智能灯
- Python实现多图像转换成连贯的PDF文件,支持所有图片格式,可预览、裁剪、自定义PDF布局、设置图像顺序、PDF质量选择等
- H5腾讯地图选择位置组件
- 基于UCC28019+LM5017电源板硬件(原理图+PCB)工程文件.zip
- 源码esp8266开发板机智云机智云空气净化器
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0