https://www.cnblogs.com/holbrook/tag/%E8%A7%84%E5%88%99%E5%BC%95%E6%93%8E/
本文最新版已更新至:http://thinkinside.tk/2012/12/07/jsr94.html
漫话规则引擎(4): Java规则引擎规范:JSR94
Java World似乎总会出现一些接口规范,这样做的好处是可以面向接口编程,可以在实现了该接口的产品/组件之间自由切换,避免被厂商绑架。 本文要介绍的JSR94:Java Rule Engine API,Java规则引擎API规范。
Table of Contents
- 1 概述
- 2 规则管理API
- 3 运行时API
- 4 异常定义
- 5 代码示例
- 6 实现JSR94的产品
- 7 小结
1 概述
JSR-94是JCP(Java Community Process)制定的关于Java规则引擎API的规范,包括接口定义和示例代码。于2004年8月发布。 JSR-94定义了javax.rules和javax.rules.admin,前者包含了Java规则引擎运行时(Rumtime)API及异常(Exception)定义,后者包含了规则管理相关的API和异常定义。
2 规则管理API
规则管理API在javax.rules.admin中定义,主要包括以下类/接口:
类/接口 | 说明 |
---|---|
Rule | 规则实体 |
RuleExecutionSet | 执行集,某个规则对应的动作 |
LocalRuleExecutionSetProvider | 用于从本地创建执行集,如InputStream,Reader等 |
RuleExectuionSetProvider | 用于从本地或远程创建执行集,如xml Element,Serializable等 |
RuleAdministrator | 用于获取ExecutionSetProvider,并管理执行集的注册/注销 |
规则管理API实现的功能包括:
- 装载规则(Rule)和执行集(RuleExecutionSet)
- 执行集的注册/注销,只有注册的执行集对应的规则才能被客户访问
3 运行时API
运行时API在javax.rules中定义,主要包括以下类/接口: