public RulesEngine2(String rulesFile)
throws RulesEngineException
{
super();
try
{
//解决找不到类的问题;
PackageBuilderConfiguration kcfg = new PackageBuilderConfiguration();
JavaDialectConfiguration javaConf = (JavaDialectConfiguration)kcfg.getDialectConfiguration("java");
javaConf.setCompiler(JavaDialectConfiguration.JANINO); //设置JANINO动态编译;
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(kcfg);
System.out.println("加入业务特征DRL文件:" + rulesFile);
kbuilder.add(ResourceFactory.newFileResource(rulesFile), ResourceType.DRL);
Collection<KnowledgePackage> pkgs = kbuilder.getKnowledgePackages();
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages(pkgs);
ksession = kbase.newStatefulKnowledgeSession();
}
catch (Exception e)
{
throw new RulesEngineException("Could not load/compile rules file: " + rulesFile, e);
}
}
RuleEngine1
最新推荐文章于 2024-04-08 15:26:32 发布