学习日志二
来源:互联网 发布:linux traceroute没有 编辑:程序博客网 时间:2024/05/18 07:33
Drools规则初步
@2016/11/3
关于规则,Drools提供的API可以分为三类:
- 规则编译
- 规则收集:KnowledgeBuilder、KnowledgeBase
- 规则的执行:StatefulKnowledgeSession、StatelessKnowledgeSession
规则处理的对象,Fact 对象
一个 Fact 对象通常是一个具有 getter 和 setter 方法的 POJO 对象,,通过这些 getter 和 setter方法可以方便的实现对Fact 对象的读写操作。
所以我们可以简单的把 Fact 对象理解为规则与应用系统数据交互的桥梁或通道。
在实际项目中,Fact对象就是输入,所有的业务逻辑都将围绕Fact对象展开,并且限制于该对象。
规则的结构
一个标准的规则文件的结构如下代码
package package-nameimportsglobalsfunctionsqueriesrules
其中package仅表示逻辑上的关系,与java略有不同。
任何规则中使用到的对象的类都应该imports在规则中。
规则的语法
内容过多,先列个清单,细节后续慢慢补
- 条件部分:
1. 变量:[绑定变量名:]Object([field 约束])2. 约束连接:“&&”(and)、“||”(or)和“,”(and)3. 比较操作符:>、 >=、 <、 <=、 = =、 !=、 contains、 not contains、memberof、not memberof、matches、not matches
- 结果部分:
insert
insertLogical
update
retract
drools
kcontext
modify
- 属性部分:
salience
no-loop
date-effective
date-expires
enabled
dialect
duration
lock-on-active
activation-group
agenda-group
auto-focus
ruleflow-group
学习日志二
@2016/11/3
流水账:
上午主要在学习Drools的语法。下午完成了自动填写Fact对象的脚本,实现了把一个字典的列表翻译为java对象的功能。期间犹豫于对象的属性是否需要包含非基本类型,所以耽误了不少时间。收获了一个教训,沟通很重要,有自己实在搞不清楚的问题,要及时向老大汇报。
实例学得:
规则有when和then俩部分,后面接的东西我分别叫他们condition和action。其中action部分可以if可以for,所以可以进行完整的逻辑处理,也就是说Drools规则引擎并没有限制规则文件的功能。condition部分还没有测试。
问题总计:
眼前问题:
- python如何调用java || python脚本可以调用eclips吗 || 如何在不使用eclips的情况下完成任务?
- 如何开发出一个具有可拓展性的引擎?远展问题:
- 表格接口,数据库接口该怎么着手?
- 系统性能如何?
- red5学习日志二
- red5学习日志二
- 学习日志二
- mysql学习日志二
- JBPM学习日志(二)
- Java学习日志(二)
- java学习日志(二)
- 代理服务器学习日志(二)
- muduo 日志库学习(二)
- python的学习日志<二>
- Docker 学习日志 (二)
- java学习日志(二)
- vue学习日志(二)
- openCV学习日志(二)
- muduo 日志库学习(二)
- Python学习日志(二)
- Redis学习日志(二)
- aix学习日志(二)之文件系统!
- 51nod 1130 N的阶乘的长度 V2(斯特林近似)
- c++ 实现1~n的排列
- 运算符
- 嵌入式linux软件平台--根文件系统rootfs构建
- C语言进阶--数据类型转换
- 学习日志二
- First Article
- css实现两个div并排显示
- UIButton 按下不放状态
- hihocoder1378 网络流之最大流最小割
- http重定向总结
- JAVA实现字符串四则运算
- 数据结构实验之串一:KMP简单应用
- 学习ssm框架的时候用到的官网