您的位置:首页 > 编程语言 > Java开发

【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构

2017-01-12 13:38 337 查看
  该片文章只是抽取drools中java代码实现的一些代码结构,帮助我们理解drools是如何实现rete算法的。
  该部分只是抽取ReteooStatefulSession工作过程中的代码架构

利用了多线程设计的一个代理模式(自己起的名字)

  利用了23中设计模式中的命令模式

一:模拟drools中ReteooStatefulSession的实现对象StatefulSession

1 package com.nonbankcard.drools.module;
2 /**
3  * statefulSession的启动过程
4  * @author sxf
5  *
6  */
7 public class StateFulSessionTest {
8
9     public static void main(String[] args) {
10
11
12         //生成一个业务命令执行代理
13         DefaultExecutorService executorService=new DefaultExecutorService();
14
15         //生成一个statefulSession
16         StatefulSession session=new StatefulSession(executorService);
17
18         //生成真正执行命令的线程体
19         CommandExecutor commandExecutor=new CommandExecutor(session);
20
21         //将真正执行命令的线程体放入业务命令执行代理
22         executorService.setCommandExecutor(commandExecutor);
23
24
25         //sesssion初始化完毕。可以开始做规则匹配的任务了
26         //初始化一个命令
27         FireRuleCommand fireCommand=new FireRuleCommand();
28
29         //session可以异步添加命令
30         Future  future=(Future) session.asyncInsert(fireCommand);
31
32     }
33
34 }


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: