关于drools中读取drl文件出错的问题。

sdc159623 2012-08-03 05:02:43
具体文件为:


package com.www.drools

import com.www.ibrms.bom.*;

rule "00000000000000000025_0"

dialect "mvel"

when

$NumberBO:NumberBO(deposit +sum_amount ==sum_score)

then

$NumberBO.username="admin";

end

读取此文件系统报错:

org.drools.rule.InvalidRulePackage: [7,27]: unknown:7:27 Unexpected token 'deposit'

at org.drools.rule.Package.checkValidity(Package.java:419)

at org.drools.common.AbstractRuleBase.addPackage(AbstractRuleBase.java:292)

at com.sinosoft.ibrms.RuleTest.main(RuleTest.java:147)


其中NumberBO是一个对象,其他字段为其属性。

望牛人给予详细解答,谢谢!
...全文
461 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
请贴出 NumberBO 的源代码,谢谢!
sdc159623 2012-08-04
  • 打赏
  • 举报
回复
我用的是 drools 4.0

测试读取drl文件的代码是:
public static void main(String[] args) {
try{
PackageBuilder builder = new PackageBuilder();
FileInputStream drlStream = new FileInputStream("D:\\rules\\qyrule\\00000000000000000025.drl");
builder.addPackageFromDrl(new InputStreamReader(drlStream));
RuleBase ruleBase = RuleBaseFactory.newRuleBase();
Package pkg = builder.getPackage();
ruleBase.addPackage(pkg);
StatelessSession session = ruleBase.newStatelessSession();
}catch(Exception e){
e.printStackTrace();
}
}
sdc159623 2012-08-04
  • 打赏
  • 举报
回复
上边的是我测试的发错了 package应该是package com.www.ibrms.bom; 这个不用管 是对的
sdc159623 2012-08-04
  • 打赏
  • 举报
回复
package com.sample;

public class NumberBO
{
private double deposit;
private double score;
private String username;
private String member_rank_id;
private double sum_score;
private double sum_amount;
private double exp;
private double sum_exp;

public double getDeposit() {
return deposit;
}
public void setDeposit(double deposit) {
this.deposit = deposit;
}
public double getExp() {
return exp;
}
public void setExp(double exp) {
this.exp = exp;
}
public String getMember_rank_id() {
return member_rank_id;
}
public void setMember_rank_id(String member_rank_id) {
this.member_rank_id = member_rank_id;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public double getSum_amount() {
return sum_amount;
}
public void setSum_amount(double sum_amount) {
this.sum_amount = sum_amount;
}
public double getSum_exp() {
return sum_exp;
}
public void setSum_exp(double sum_exp) {
this.sum_exp = sum_exp;
}
public double getSum_score() {
return sum_score;
}
public void setSum_score(double sum_score) {
this.sum_score = sum_score;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}


谢谢你了 帮忙看下
sdc159623 2012-08-03
  • 打赏
  • 举报
回复
敢不敢来个人,帮下忙

50,539

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧