我正在使用Drools V 6.5.0和Eclipse Neon.2 V 4.6.0
我绝望地尝试在我之前在Eclipse上创建的所有类上启用“@PropertyReactive”Drools注释。 根据文档(参见本主题的底部),可以通过直接在java类文件上注释“@PropertyReactive”来“手动”完成。但是,我的模型生成接口而不是类。我尽管尝试了接口但是没有成功。 同样,根据Drools的发布,还有另一种方法可以通过使用KnowledgeBuilderConfiguration选项直接从RulesManager文件中将所有类作为“PropertyReactive”启用。问题是我不能从这个对象构建任何东西等等,我真的不知道如何处理这个KnowledgeBuilder。
任何人都有类似的问题并成功修复它?
提前谢谢。
以下是Drools文档(V6.5.0):_ https://docs.jboss.org/drools/release/6.5.0.Final/drools-docs/html_single/
public class RulesManager {
private RulesManager() {
super();
KieServices ks = KieServices.Factory.get();
KnowledgeBuilderConfiguration config = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
config.setOption(PropertySpecificOption.ALWAYS);
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(config);
KieFileSystem kfs = createKieFileSystemWithKProject(ks, false);
ReleaseId releaseId = KieServices.Factory.get().newReleaseId("com.toto.test", "rules", "1.0-SNAPSHOT");
kfs.writePomXML(getPom(releaseId));
try {
URL url = new URL("platform:/plugin/com.toto.test/defaultkiesession/toto.drl");
InputStream inputStream = url.openConnection().getInputStream();
kfs.write( "src/main/resources/toto.drl",
ks.getResources().newInputStreamResource( inputStream ) ); }
kfs.generateAndWritePomXML(ks.getRepository().getDefaultReleaseId());
KieBuilder kieBuilder = ks.newKieBuilder( kfs );
kieBuilder.buildAll();
Results results = kieBuilder.getResults();
}