java drools 权限_java – 版本6.2的drools代码不推荐使用

这篇博客介绍了如何在Drools 6.2版本中处理权限,针对旧版代码进行了迁移。文章指出,不再推荐使用旧的drools代码来读取外部drl文件和操作Value Object及类。提供了一种新的方法,通过KieHelper类简化代码,以加载规则并创建无状态的KieSession。通过示例展示了如何使用KieHelper加载规则文件并验证错误,帮助读者理解和迁移代码。
摘要由CSDN通过智能技术生成

我有一个旧的和已删除的drools代码,这段代码可以读取容器外的规则文件(drl),并且可以使用任何Value Object和任何类.

CommandExecutor ksession;

KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();

String file = System.getenv("DOMAIN_HOME")+"/mydrls/business.drl";

kbuilder.add(ResourceFactory.newFileResource(file), ResourceType.DRL);

KnowledgeBase kbase = kbuilder.newKnowledgeBase();

ksession = kbase.newStatelessKnowledgeSession();

DataTest data = new DataTest();

data.setAge(25);

List cmds = new ArrayList();

cmds.add( CommandFactory.newInsert( data ) );

ksession.execute(CommandFactory.newBatchExecution( cmds ));

我怎么能用drools版本6.2做同样的事情?

解决方法:

您可以使用KieHelper类简化Laune的代码:

KieHelper kieHelper = new KieHelper();

kieHelper.addResource(ResourceFactory.newInputStreamResource(new FileInputStream( "simple/simple.drl" )), ResourceType.DRL);

Results results = kieHelper.verify();

if( results.hasMessages( Message.Level.ERROR ) ){

System.out.println( results.getMessages() );

throw new IllegalStateException( "### errors ###" );

}

StatelessKieSession kieSession = kieHelper.build().newStatelessKieSession();

希望能帮助到你.

标签:drools,java,rule-engine

来源: https://codeday.me/bug/20191002/1842823.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值