4

我正在使用 drools-camel-server 5.4 final 来执行从 jboss AS7 上的 guvnor 获取的规则,如下所示:

    <drools:resource type="PKG" source="http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/mypackage/Test"
                            basic-authentication="enabled" username="test" password="test" />
    </drools:resources>
    <drools:ksession id="ksession1" type="stateless" 
            kbase="kbase" node="node1" />

如何重新加载或重建知识库,以便规则中的任何更改立即反映在执行服务器上?

4

2 回答 2

2

是的,您可以通过添加知识代理和资源更改扫描仪...这是我的工作示例

<drools:resource-change-scanner id="s1" interval="10" enabled="true"/>
<drools:kagent kbase="kbase1" id="kagent" new-instance="false"/> 

<drools:grid-node id="node1"/>

<drools:ksession id="ksession1" type="stateless" kbase="kbase1" node="node1"/>

<drools:kbase id="kbase1" node="node1">
   <drools:resources>
      <drools:resource  type="DRL" source="classpath:test.drl"/>
   </drools:resources>
</drools:kbase>
于 2012-07-17T09:17:55.977 回答
0

我遇到过同样的问题。在任何地方都找不到任何解决方案。我经历了反复试验,最终得到了似乎对我有用的东西。它检测我在 Guvnor 中的远程资源何时更新。

<drools:resource-change-scanner id="s1" interval="10" enabled="true" />
<drools:resource id="cs" type="CHANGE_SET" source="http://localhost:8080/drools-guvnor/rest/packages/com.test/assets/CHANGE_SET/source" basic-authentication="enabled" username="admin" password="admin" />

<drools:kagent kbase="kbase1" id="kagent" new-instance="false">
    <drools:resources>
        <drools:resource ref="cs" />
    </drools:resources>
</drools:kagent>

<drools:grid-node id="node1"/> 
<drools:ksession id="ksession1" type="stateless" kbase="kbase1" node="node1"/>

<drools:kbase id="kbase1" node="node1">
    <drools:resources>
        <drools:resource ref="cs" />
    </drools:resources>
</drools:kbase>  
于 2013-01-29T20:12:52.690 回答