jboss规则引擎KIE Drools 6.3.0 3

2024-05-04 09:09
文章标签 引擎 规则 drools 6.3 jboss kie

本文主要是介绍jboss规则引擎KIE Drools 6.3.0 3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在前2部教程中,介绍了如何在本地运行.drools文件以及使用stateless的方法访问远程repository上的规则。 KIE Drools还提供了一种叫有状态-stateful的访问方式。


运行KIE-DROOLS上的规则-另一种写法


KieServices ks = KieServices.Factory.get();
KieRepository kr = ks.getRepository();
UrlResource urlResource = (UrlResource) ks.getResources().newUrlResource(url);
urlResource.setUsername("tomcat");
urlResource.setPassword("tomcat");
urlResource.setBasicAuthentication("enabled");
InputStream is = urlResource.getInputStream();
KieModule kModule = kr.addKieModule(ks.getResources().newInputStreamResource(is));
KieContainer kContainer = ks.newKieContainer(kModule.getReleaseId());
KieSession kieSession = kContainer.newKieSession();
try {
PaymentInfo m = new PaymentInfo();
m.setMoneyAmount(10000);
kieSession.insert(m);
kieSession.fireAllRules();
System.out.println(m.getDecisionPath());
} catch (Exception e) {
e.printStackTrace();
} finally {
try {kieSession.dispose();
} catch (Exception e) {
}
}



其区别在于:


这是一个stateful(有状态)session的调用,上一个教程中的例子里面我们是一个无状态的调用。


Stateful VS Stateless


Stateless


即无状态调用,比如说FACT A里的值初始为0。当这条规则被执行完成后自动断开连接并释放。


Stateful


即有状态调用,比如说FACT A里的值初始为0,当某一条Request把其值修改为20时在代码没有显示的调用dispose时,这个值会一直维持着。


因此在对于Stateful Session的调用完毕后要显示的去“手工”关闭和释放它,如下面的代码:


finally { 
try {
kieSession.dispose();
} catch (Exception e) {
}
}


迈向SOA的第一步


重新来看“基于BRMS的系统逻辑架构”



再回过头来思考下面3句话:


IT人员的还本归宗,业务交由业务开发人员,IT人员只观注于技术的实现;


降低产品、项目中技术集成的复杂性;


容易培养出领域高手:即IT开发人员只需要关注于自己的某一块领域如:流程开发专家、数据库专家、前台特效程序员、系统实施、集成、管理专家。


规则结合BPM(工作流)的典型应用场景


还是看不懂? 没关系,来看下面这个例子




当流程流转到“员工提交报销金额时”,此时有一个Decision节点,该节点通过返回“path(M或者GM)”,一旦BPM的Decision的path得到了这个值,BPM会自动决定下一步流程的走向到底是“报经理批”还是“再报总经理批”这样两条路径中来作一个选择。


希望你通过这个例子明白什么叫“IT能够快速响应频繁的业务变化”、什么叫24*7、什么叫“加速业务走向市场”这些话的意思了吧。


什么是SOA




SOA对业务和销售人员来说意味着什么






SOA对企业、客户方的业务人员来说意味着什么






SOA对IT开发人员来说意味着什么





这篇关于jboss规则引擎KIE Drools 6.3.0 3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/958847

相关文章

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

关于Gateway路由匹配规则解读

《关于Gateway路由匹配规则解读》本文详细介绍了SpringCloudGateway的路由匹配规则,包括基本概念、常用属性、实际应用以及注意事项,路由匹配规则决定了请求如何被转发到目标服务,是Ga... 目录Gateway路由匹配规则一、基本概念二、常用属性三、实际应用四、注意事项总结Gateway路由

Redis 多规则限流和防重复提交方案实现小结

《Redis多规则限流和防重复提交方案实现小结》本文主要介绍了Redis多规则限流和防重复提交方案实现小结,包括使用String结构和Zset结构来记录用户IP的访问次数,具有一定的参考价值,感兴趣... 目录一:使用 String 结构记录固定时间段内某用户 IP 访问某接口的次数二:使用 Zset 进行

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

速了解MySQL 数据库不同存储引擎

快速了解MySQL 数据库不同存储引擎 MySQL 提供了多种存储引擎,每种存储引擎都有其特定的特性和适用场景。了解这些存储引擎的特性,有助于在设计数据库时做出合理的选择。以下是 MySQL 中几种常用存储引擎的详细介绍。 1. InnoDB 特点: 事务支持:InnoDB 是一个支持 ACID(原子性、一致性、隔离性、持久性)事务的存储引擎。行级锁:使用行级锁来提高并发性,减少锁竞争

Adblock Plus官方规则Easylist China说明与反馈贴(2015.12.15)

-------------------------------特别说明--------------------------------------- 视频广告问题:因Adblock Plus的局限,存在以下现象,优酷、搜狐、17173黑屏并倒数;乐视、爱奇艺播放广告。因为这些视频网站的Flash播放器被植入了检测代码,而Adblock Plus无法修改播放器。 如需同时使用ads

Smarty模板引擎工作机制(一)

深入浅出Smarty模板引擎工作机制,我们将对比使用smarty模板引擎和没使用smarty模板引擎的两种开发方式的区别,并动手开发一个自己的模板引擎,以便加深对smarty模板引擎工作机制的理解。 在没有使用Smarty模板引擎的情况下,我们都是将PHP程序和网页模板合在一起编辑的,好比下面的源代码: <?php$title="深处浅出之Smarty模板引擎工作机制";$content=

MySQL技术内幕_innodb存储引擎

MySQL技术内幕_innodb存储引擎 INNODB innodb中如果表没有主键 表是否由 非空唯一键,有则该字段为主键没有,则自动创建一个6字节大小的指针 innodb存储引擎的所有数据都存储在表空间中,表空间由段,区,页(块)组成。 如果启用了 innodb_file_per_table, 则每张表内的数据可以单独放在一个表空间中即使启用了上面参数,共享表空间也会因为 系统事务信息

Matter.js:Web开发者的2D物理引擎

Matter.js:Web开发者的2D物理引擎 前言 在现代网页开发中,交互性和动态效果是提升用户体验的关键因素。 Matter.js,一个专为网页设计的2D物理引擎,为开发者提供了一种简单而强大的方式,来实现复杂的物理交互效果。 无论是模拟重力、碰撞还是复杂的物体运动,Matter.js 都能轻松应对。 本文将带你深入了解 Matter.js ,并提供实际的代码示例,让你一窥其强大功能