在Guvnor中引发异常(引导编辑规则)

时间:2013-10-05 04:53:20

标签: drools drools-guvnor guvnor

我正在使用Guvnor构建规则项目。在我的一个DSL中,我对错误操作遵循“后果”声明:

[when]Error "{message}"=throw new Exception( "{message}" );

如果我使用DSL规则,用DSL语句编写所有规则,它就能完美运行。但是,使用Guided Editor,这不起作用,验证说出类似的内容:

[Error: unable to resolve method using strict-mode: org.drools.spi.KnowledgeHelper.throw()] [Near : {... throw new Exception( " ...

有人知道我需要为这件作品做些什么吗?这很重要,因为我的项目将由非IT人员使用。

感谢。


Guided Editor生成的源代码非常简单:

rule "exception test"
    dialect "mvel"
    when
        eval( true );
    then
        throw new Exception( "error message" );
end

1 个答案:

答案 0 :(得分:3)

问题不在于使用DSL句子,而在于使用'mvel'方言。看起来Mvel不喜欢抛出Exception语法。 解决方案是使用'java'方言代替。

为此,您必须在规则中添加'java'方言选项:

enter image description here

不幸的是,据我记忆,Guvnor没有全局设置默认情况下使用'java'方言。