1.1.Java程序调用规则
Java程序可以通过engine.jar中提供的API调用规则包或者规则包中的一级规则,调用时,简单的调用代码如下:
RuleEngine ruleEngine = RuleEngineFactory.newInstance().getRuleEngine();
ruleEngine.put("export_0", "测试");
try {
ruleEngine.execute("simple.helloworld");
System.out.println(ruleEngine.get("export"));
} catch (Exception e) {
e.printStackTrace();
}
以上是标准的调用方法。
RuleEngineFactory.newInstance().getRuleEngine()是得到一个引擎实例,每个引擎实例会分配一个单独的map用于接收java端调用的数据。
ruleEngine.put方法用于将调用的数据存入map中,ruleEngine.execute执行后,会根据传入的规则包名称,找到具体的规则包,并且将map中的所有数据传给此规则包。当规则包所有的规则执行完毕后,会将执行完毕的值,写回到map中。ruleEngine.execute执行时会出现异常,如果出现com.flagleader.engine.RuleEngineException: 103 : 导入规则包simple.helloworld,发现路径中/simple/helloworld.rsc文件不存在 这类错误则检查classpath是否存在simple/helloworld.rsc文件或者在engine.conf配置文件中指定的ruleEngineClassDir目录下是否存在simple/helloworld.rsc文件。
ruleEngine.get方法,可以读取map中的返回值。
因此,如果需要连续调用两个规则包,则需要执行两次RuleEngineFactory.newInstance().getRuleEngine(),否则这两次调用会共用同一个map,除非第二次调用的规则包需要用到前一次调用结果。
1.2.Java程序调用规则包中的内部规则
如果要调用规则包中的内部规则,则可以使用ruleEngine.execute(String)方法,该方法中的规则包名称可以使用@来访问规则包中的内部规则,比如:
ruleEngine.execute("simple.helloworld@规则1");
表示执行simple.helloworld规则包下面的规则1子规则。
注意,子规则最多可以调用二级,也就是说第三层的子规则不能被访问。
比如 规则集@规则集@规则,并不能被访问。
分享到:
相关推荐
Struts原理、开发及项目实施<br/> Holen 2002-9-12<br/><br/>1、 摘要<br/>2、 关键词<br/>3、 Framework<br/>4、 Struts的起源<br/>5、 Struts工作原理<br/>6、 Struts安装<br/>7、 一个实例<br/>8、 Struts优缺点...
<br><br> FlowChartX控件 很多开发环境下和很多编程语言下测试过,也可用于全世界各地公司用Visual C++, Visual Basic, C#或VB.NET, Visual FoxPro, Borland Delphi, VBA, PowerBuilder, Advantage Gen, Progress 4...
- **标签**: `<h1>`至`<h6>`,分别表示不同级别的标题。 - **示例**: ```html <h1>一级标题</h1> <h2>二级标题</h2> ``` ##### 3. HTML段落 - **标签**: `<p>`,用于定义一个段落。 - **示例**: ```html <p>...
在实际应用中,我们还会学习如何创建标题(`<h1>`到`<h6>`)、段落(`<p>`)、列表(无序`<ul>`和有序`<ol>`,以及列表项`<li>`)、链接(`<a>`)、图像(`<img>`)以及区块(`<div>`)等基本元素。此外,还将讨论...
**ESRI Flex GIS开发连载(1) - 环境搭建** 在ESRI Flex GIS开发中,环境搭建是首要步骤,它确保了开发者有一个稳定且兼容的平台来创建GIS应用程序。Flex是Adobe开发的一种用于构建富互联网应用(RIA)的编程语言,...
5. **模板引擎**:为了方便页面布局和样式,项目可能使用了如Twig或Smarty这样的模板引擎,将视图与控制器逻辑分离。 6. **错误处理和日志记录**:良好的错误处理和日志记录机制对于调试和维护至关重要,PHP的错误...
### FPGA Verilog HDL 设计实例系列连载——有限状态机设计 #### 1. 有限状态机(FSM)概述 有限状态机(Finite State Machine,FSM)是数字系统设计中非常重要的概念之一,它被广泛应用于各种数字系统的控制逻辑中...
WCF 项目应用连载[5] - 自定义配置 扩展ChannelFactory<T> WCF 项目应用连载[6] - 升级Lig服务 - 设计ILigger 构建一个完善的Lig版本 WCF 项目应用连载[7] - 绑定、服务、行为 大数据传输与限流 - 上 WCF 项目应用...
杰奇PHP小说连载系统是一个基于PHP编程语言的开源软件,专为在线小说网站设计和开发。这个系统提供了全面的功能,包括小说的发布、管理、分类、搜索以及用户互动等,旨在帮助站长快速搭建一个高效、易用的小说阅读...
Java学习资料入门的所有类容连载--01