DROOLS:直接从构建器启用@PropertyReactive

时间:2017-02-08 09:52:51

标签: eclipse drools builder

我正在使用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(); 
}

0 个答案:

没有答案