我在 eclipse 中摆弄 Drools 决策表并注意到我能够将规则文件导入我的 Kie 会话的唯一方法是将文件直接放在 eclipse 项目中。我想知道是否有一种方法可以访问位于“C:Users/user/documents/rules/”中某处的规则文件,或者该文件是否必须位于工作区中。
我对 Drools 或 KIE 不是很熟悉,所以我对这些服务的唯一了解涉及网站上的文档以及 google 和 youtube 上的各种教程。到目前为止我找到的代码似乎还不够。
KieServices ks = KieServices.Factory.get();
KieContainer kContainer = ks.getKieClasspathContainer();
KieSession kSession = kContainer.newKieSession("ksession-dtables");
上面直接引用了一个在 xml 文件中预定义的会话,我不确定如何定义我自己的会话以访问 eclipse 项目之外的文件。
KieServices kieServices = KieServices.Factory.get();
Resource dt
= ResourceFactory
.newClassPathResource("Sample.xls", getClass());
KieFileSystem kieFileSystem = kieServices.newKieFileSystem().write(dt);
KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem);
kieBuilder.buildAll();
KieRepository kieRepository = kieServices.getRepository();
ReleaseId krDefaultReleaseId = kieRepository.getDefaultReleaseId();
KieContainer kieContainer = kieServices.newKieContainer(krDefaultReleaseId);
KieSession kieSession = kieContainer.newKieSession();
而这个块稍微好一点,因为我可以直接引用项目中的一个文件,但问题是它仍然需要在项目中。
收到一只叮咚
相关分类