2012-07-26 24 views
0

我正在尝试编写一个用于处理消息的DSL。我有几个构造与下面导致错误 -Drools 5.4.0- DSL结果包含三个整数和字符串组合的捕获错误

从DSL - [后果] []字段{比特}设置字段{bit2}验证失败到“{field_value}”= System.out。的println( “测试”);

在DSLR - 现场2组现场

奇怪的是39至 “181” 验证失败,下面的工作确定

从DSL - [结果] []在验证失败字段{bit}将字段{bit2}设置为{field_value} = System.out.println(“Test”);

在DSLR - 现场2组现场39至181 验证失败(请注意,“FIELD_VALUE”被丢弃的双引号)

难道我做错了什么? 。我正在使用Drools 5.4.0 Final。

谢谢!

规则编译错误:[规则名称= '手柄授权交易进行验证的失败'] defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83.java(21:1344):上不能被解析为一个 类型defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83.java(21:1358 ):令牌“失败”的语法错误,;预期 defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83.java(21:1366):不能被解析为一个类型 defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83.java(21:1369):重复的局部变量字段 defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83.java(21:1375):语法错误on token“2”,;预期 defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83.java(22:1450):上不能被解析为一个类型 defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83.java(22:1453):重复的局部变量验证 defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83.java(22:1464):语法错误在令牌“失败”,;预期 defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83.java(22:1472):不能被解析为一个类型 defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83.java(22:1475):重复的局部变量字段 defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83.java(22:1481):语法错误on token“3”,;预期 defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83.java(23:1556):上不能被解析为一个类型 defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83.java(23:1559):重复的局部变量验证 defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83.java(23:1570):语法错误在令牌“失败”,;预计 defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83。的java(23:1578):不能被解析为一个类型 defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83.java(23:1581):重复的局部变量字段 defaultpkg/Rule_handle_authorization_transactions_for_validation_failures_bea353bc1d7c4114aa7fb7548bcc7b83.java(23:1587):令牌 “4” 中的语法错误, ;预计

回答

0

它看起来像drools以递归方式应用规则! 我在DSL中的条目为 [后果] []字段{bit}设置字段{second_bit}到{val}“= =

的验证失败,但也有另外一个这样的 - [后果] []设置字段{位}为“{field_value}”= ...

所以drools匹配第一个条目的第一个条目的第二个RHS!感谢drools.dump.dir选项,我可以看到发生了什么!

相关问题