我正在用Guvnor构建一个规则项目。在我的DSL中,我有以下错误操作的“后果”声明:
[when]Error "{message}"=throw new Exception( "{message}" );
如果我使用DSL规则,用DSL语句编写所有规则,它就能很好地工作。但是,使用Guided,这是不起作用的,验证显示如下所示:
[Error: unable to resolve method using strict-mode: org.drools.spi.KnowledgeHelper.throw()] [Near : {... throw new Exception( " ...
有人知道我需要做些什么吗?这很重要,因为我的项目将被非IT人员使用。
谢谢。
由引导编辑器生成的源代码非常简单:
rule "exception test"
dialect "mvel"
when
eval( true );
then
throw new Exception( "error message" );
end发布于 2013-10-08 10:25:40
问题不在于DSL句子的使用,而在于'mvel'方言的使用。看来,Mvel不喜欢抛出异常语法。解决方案是使用'java'方言代替。
为此,必须在规则中添加'java'方言选项:

不幸的是,据我所知,在Guvnor中没有默认使用'java'方言的全局设置。
https://stackoverflow.com/questions/19194122
复制相似问题