drools动态从字符串加载规则

drools加载规则的方式正常情况下是需要从drl文件中去加载,但有时候我们需要动态根据数据存储的信息来构建我们的规则,然后
让drools去加载。我们可以通过如下方式手工加载的方式加载规则。
KnowledgeBuilder kb = KnowledgeBuilderFactory.newKnowledgeBuilder();

kb.add(ResourceFactory.newByteArrayResource(“你的drl文本”.getBytes("gbk")), ResourceType.DRL);
KnowledgeBuilderErrors errors = kb.getErrors();
for (KnowledgeBuilderError error : errors) {
   System.out.println(error);
}
KnowledgeBase kBase = KnowledgeBaseFactory.newKnowledgeBase();
kBase.addKnowledgePackages(kb.getKnowledgePackages());
kSession = kBase.newStatefulKnowledgeSession();

你可能感兴趣的:(drools)