0

我在集成 Drools Camel Server 和 Guvnor 时遇到问题。版本 5.5.0

我创建了一个包含 POJO 的 JAR,并在 Guvnor 中使用它来创建 BRL 规则(将来将由非技术人员创建)..

问题是,当我启动 drools 服务器时,它抱怨它找不到规则导入中定义的类 Message ..

Knowledge-servics.xml 的配置下面

    <drools:grid-node id="node1" />
    <drools:resource-change-scanner id="res-scanner1" interval="15" enabled="true" />
    <drools:kbase id="kbase1" node="node1" />
    <drools:kagent id="kagent1" kbase="kbase1" new-instance="false">
            <drools:resources>
                    <drools:resource type="PKG" source="http://localhost:8082/guvnor/org.drools.guvnor.Guvnor/package/<mypackage>/LATEST" basic-authentication="enabled" username="admin" 
                            password="admin" /> 
            </drools:resources>
    </drools:kagent>
    <drools:ksession id="ksession1" type="stateless" kbase="kbase1" node="node1" />

这是我在 Guvnor 的规则

package mypackage 

import mypackage.model.Message 
rule "first" 
dialect "mvel" 
when 
   Message( text == "a" ) 
then 
   Message fact0 = new Message(); 
   fact0.setText( "b" ); 
   insert( fact0 ); 
end 
4

1 回答 1

0

二进制包不包含 java 类。您有 2 个选项: 1.- 将您的 POJO jar 复制到 drools-server 类路径 2.- 您可以以编程方式从 Guvnor 获取 jar(Guvnor 通过 url 公开它)并将其添加到您的类路径中。

希望能帮助到你,

于 2013-09-02T19:44:10.307 回答