jboss规则引擎KIE Drools 6.3.0 Final 教程(3)

转载 2016年07月19日 16:43:21

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


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


先上代码
  1. String url = "http://192.168.0.101:8080/kie-drools/maven2/org/sky/drools/ApprovalDecision/1.0.0/ApprovalDecision-1.0.0.jar";  
  2.   
  3. KieServices ks = KieServices.Factory.get();  
  4. KieRepository kr = ks.getRepository();  
  5. UrlResource urlResource = (UrlResource) ks.getResources().newUrlResource(url);  
  6. urlResource.setUsername("tomcat");  
  7. urlResource.setPassword("tomcat");  
  8. urlResource.setBasicAuthentication("enabled");  
  9. InputStream is = urlResource.getInputStream();  
  10. KieModule kModule = kr.addKieModule(ks.getResources().newInputStreamResource(is));  
  11. KieContainer kContainer = ks.newKieContainer(kModule.getReleaseId());  
  12. KieSession kieSession = kContainer.newKieSession();  
  13. try {  
  14. PaymentInfo m = new PaymentInfo();  
  15. m.setMoneyAmount(10000);  
  16. kieSession.insert(m);  
  17. kieSession.fireAllRules();  
  18. System.out.println(m.getDecisionPath());  
  19. catch (Exception e) {  
  20. e.printStackTrace();  
  21. finally {  
  22. try {  
  23.     kieSession.dispose();  
  24. catch (Exception e) {  
  25. }  
  26. }  


其区别在于:


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


Stateful VS Stateless


Stateless


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


Stateful


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


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


  1. finally {  
  2.     try {  
  3.         kieSession.dispose();  
  4.     } catch (Exception e) {  
  5.     }  
  6. }  


迈向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 Final 教程(1)

世面上成熟的规则引擎有很多,著名的如:IBM 的iLog,pegga rulz(飞马),我们在这边要介绍的也是开源中最著名的jboss rulz。 Jboss Rulz最早是只有基于.drools的规...
  • lifetragedy
  • lifetragedy
  • 2016-04-13 17:32:58
  • 34424

43、关于drools Web版本kie-wb+kie-server+windows版本

其实在windows版本配置与liunx相差的不多, 我们在说回 使用h2与mysql or oracle 是有所不同的,这们我们会在下面有讲到,我们现在主要说的是关于h2的windows版本的wor...
  • u013115157
  • u013115157
  • 2016-10-14 13:38:28
  • 1317

JBoss Drools如何动态加载并更新规则?

JBoss Drools中提供了一个类KieScanner,可以支持从Maven存储库动态的加载并更新规则。官方给出的例子没有很好的证明这一能力,笔者经过几天研究,成功实验出了如何达到动态更新的效果,...
  • gongxsh00
  • gongxsh00
  • 2018-03-12 19:01:36
  • 87

jboss规则引擎KIE Drools 6.3.0 Final 教程(2)

世面上成熟的规则引擎有很多,著名的如:IBM 的iLog,pegga rulz(飞马),我们在这边要介绍的也是开源中最著名的jboss rulz。 Jboss Rulz最早是只有基于.drools的规...
  • lifetragedy
  • lifetragedy
  • 2016-04-14 09:39:23
  • 19079

Jboss rules规则引擎 Drools 6.4.0 Final 教程(4)

4.1.概观 4.1.1.项目剖析 Drools和jBPM集成知识解决方案的研究过程中曾被简单称为“droolsjbpm”。这个名称渗透到GitHub的帐户和Maven的POM中。...
  • easy_to_know
  • easy_to_know
  • 2016-06-27 07:53:01
  • 5813

kie-server搭建(drools 7.6.0版本)

kie-server是一个独立执行服务器,可用于使用REST,JMS或Java界面远程执行规则。在workbench安装好的情况下,来安装kie-server,workbench安装方法见小哥博客一、...
  • qq_18649209
  • qq_18649209
  • 2018-03-12 16:08:49
  • 133

jboss规则引擎KIE Drools 6.3.0-高级讲授篇

国内唯一一篇全流程讲述生产环境中的JBOSS DROOLS是如何使用的教程,该教程弥补了官方教程灵碎、版本过于陈旧、API函数部分已经被废弃的一系列问题。因此这也是对JBOSS官方QUICK STAR...
  • lifetragedy
  • lifetragedy
  • 2017-03-07 14:47:53
  • 8470

Jboss rules规则引擎 Drools 6.4.0 Final 教程(1)

前言 目前世面上中文的drools的教程几乎没有,我自学drools引擎时,都是别人的学习笔记,比较零碎也没有实质性的内容。初学者看后,一头雾水,不知道它到底在干吗?能干吗?能够解决自己系统中什么问题...
  • easy_to_know
  • easy_to_know
  • 2016-06-18 14:13:45
  • 2993

《Drools7.0.0.Final规则引擎教程》第3章 3.2 KIE API解析

3.2.4 KieServices该接口提供了很多方法,可以通过这些方法访问KIE关于构建和运行的相关对象,比如说可以获取KieContainer,利用KieContainer来访问KBase和KS...
  • wo541075754
  • wo541075754
  • 2017-07-12 09:47:30
  • 3681

Jboss rules规则引擎 Drools 6.4.0 Final 教程(5)

11.与spring集成 11.1.Drools 6.0的重要变化 随着Drools 6.0发布,Drools与Srping的集成经历了完整的改造。下面是一些非常重要的变化: Dro...
  • easy_to_know
  • easy_to_know
  • 2016-06-27 07:56:51
  • 3364
收藏助手
不良信息举报
您举报文章:jboss规则引擎KIE Drools 6.3.0 Final 教程(3)
举报原因:
原因补充:

(最多只允许输入30个字)