我开发了一个自定义规则编辑器,能够创建drl文件并将它们保存在给定目录下的文件系统中.(例如c:\ savedRules\rule.drl).问题是,一旦保存规则,我需要使用drools引擎运行它.在我的班级中,我尝试以这种方式加载规则:
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add(ResourceFactory.newClassPathResource("c:\savedRules\rule.drl"), ResourceType.DRL);
Run Code Online (Sandbox Code Playgroud)
但它不起作用.例外是"rule.drl无法打开,因为它不存在",但实际上存在....
我究竟做错了什么?还有另一种直接从文件系统加载规则的方法吗?
试试用,
FileInputStream fis = new FileInputStream(drlFile);
kbuilder.add(ResourceFactory.newInputStreamResource(fis), ResourceType.DRL);
Run Code Online (Sandbox Code Playgroud)
谢谢.