Java规则引擎与其API(JSR-94)
2010-07-02 00:00:00 来源:WEB开发网6、 Java规则引擎API使用示例
6.1 设置规则引擎
Java规则引擎的管理活动阶段开始于查找一个合适的javax.rules.RuleServiceProvider对象,这个对象是应用程序访问规则引擎的入口。在J2EE环境中,你可能可以通过JNDI获得RuleServiceProvider。否则,你可以使用 javax.rules.RuleServiceProviderManager类:
javax.rules.RuleServiceProviderManager class:
String implName = "org.jcp.jsr94.ri.RuleServiceProvider";
Class.forName(implName);
RuleServiceProvider
serviceProvider = RuleServiceProviderManager.getRuleServiceProvider(implName);
拥有了RuleServiceProvider对象,你就可以获得一个javax.rules.admin.RuleAdministrator类。从 RuleAdministrator类中,你可以得到一个RuleExecutionSetProvider,从类名可以知道,它用于创建 javax.rules.RuleExecutionSets对象。RuleExecutionSet基本上是一个装入内存的,准备好执行的规则集合。
包 javax.rules.admin包括两个不同的RuleExecutionSetProvider类。 RuleExecutionSetProvider类本身包括了从Serializable对象创建RuleExecutionSets的方法,因此在规则引擎位于远程服务器的情况下,仍然可以使用RuleExecutionSetProvider类,构造器的参数可以通过RMI来传递。另一个类是 LocalRuleExecutionSetProvider,包含了其他方法,用于从非Serializable资源(如 java.io.Reader-本地文件)创建RuleExectionSets。假设拥有了一个RuleServiceProvider对象,你可以从本地文件rules.xml文件创建一个RuleExectionSet对象。如以下的代码所示:
更多精彩
赞助商链接