【问题标题】:Drools why StatefulKnowledgeSession has different KnowledgeBaseDrools 为什么 StatefulKnowledgeSession 有不同的知识库
【发布时间】:2012-02-15 16:29:55
【问题描述】:

我正在尝试对 Drools 框架进行一些体验。在我的测试期间,我尝试了以下测试

    @Test public void testDrools() {
        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
        StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
        assertSame(session.getKnowledgeBase(), kbase);
    }

为什么这个测试失败了?会话是否引用了用于创建它的KnowledgeBase?我对此有点困惑。也许有人可以帮助我理解它。

提前非常感谢您。 阿尔贝托

【问题讨论】:

    标签: java jboss drools rule-engine drools-fusion


    【解决方案1】:

    这是一个实现细节,主要是因为 Drools 必须保持与 Drools 4.x 版本的向后兼容性。 kbase 和 session.getKnowledgeBase() 都是真实知识库的包装器,因此您有 2 个包装器,但两个包装器都指向知识库的一个实际实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-10
      • 2020-07-04
      • 1970-01-01
      • 1970-01-01
      • 2013-06-15
      • 1970-01-01
      • 2020-11-07
      • 2017-03-23
      相关资源
      最近更新 更多