Drools客户端配置及调用

Drools客户端配置
1.引入jar包:
drools-api-5.0.1.jar
drools-core-5.0.1.jar
mvel2-2.0.10.jar
2.java程序调用规则:
// rule.properties是drools配置文件默认放在项目src下(后面讲解此配置文件)
RuleAgent agent = RuleAgent.newRuleAgent("/rule.properties");
RuleBase rb = agent.getRuleBase();
// caculateScore.caculateScore规则中:【包名.方法】//包:指服务器左边树上包名
FactType appType = rb.getFactType("caculateScore.caculateScore");
Object application = appType.newInstance();
//设置参数
appType.set(application, "param1", param1);
appType.set(application, "param2", param2);

rb.newStatelessSession().execute(new Object[] { application});
//规则返回值: returnItem指的是规则中返回的变量名称
Object o = appType.get(application, "returnItem");
d = ((Integer)o).doubleValue();

3. rule.properties文件讲解:
文件名称:rule.properties
文件内容:
##
## RuleAgent 配置文件示例,使得drools采用pull(拉)模式工作,RuleAgent自动搜索服务器端规则是否更新。
##

# true:意思是如果规则变化则自动更新。
newInstance=true

#二进制格式的规则文件路径,用空格分隔多个文件。
#file=/foo/bar/boo.pkg /foo/bar/boo2.pkg

#指定规则文件存放路径。
#dir=/my/dir

#指定BRMS中的二进制格式规则文件。用空格分隔不同的url地址.
#此url有两种配置方式:、

#配置1.配置如下:
url=url=http://localhost:6080/drools-guvnor/org.drools.guvnor.Guvnor/package/caculateMoney/LATEST
#此地址是从glassfish部署的drools服务器中的规则自定义caculateMoney包中取得的。
 
#其中包括三个url.
#①drl地址,即我们写的规则文件地址。下载到本地为:packagename.drl(包名.drl)
#②pkg地址。下载到本地为:packagename.pkg(包名.pkg,即二进制文件)
#③不清楚。

#配置2.配置如下
##url= http://localhost:6080/drools-guvnor/caculateMoney.pkg
#此时需要把caculateMoney.pkg从第②个地址上下载下到本地。放到localCacheDir
#指定的目录下面。
#
#规则文件缓冲存放路径。此目录下放*.pkg文件。
#如果用第1种方法配置那么不用配置*.pkg文件。Drools会自动根据url地址生成一个文件到此目录下。
#如果用第2种方法配置则需要把*.pkg文件(例如:caculateMoney.pkg)复制到#localCacheDir指定的目录下面。

localCacheDir=c:/itour/cache

#规则文件自动刷新的时间间隔. 如果没有设置,那么需要手工更新。
#poll=30


#本配置文件的名称,记录日志时使用。
name=MyConfig

你可能感兴趣的:(工作,cache,Glassfish)