1

我正在使用 joda-time 来跟踪 Drools 文件中几种不同类型的日期(DateTime 和 DateMidnight)。作为 when 条件的一部分,我获取对象的日期,然后比较所有其他对象的日期以确保没有更新的对象。日期格式相同 (DateTime),但当我尝试通过 Tomcat 向其发送有效负载时,我始终收到以下错误:

Caused by: java.lang.NoSuchMethodError: org.joda.time.DateTime.compareTo(Lorg/joda/time/DateTime;)
at edu.measure.growth.Rule_assume_first_measurement_is_valid586933554.defaultConsequence(Rule_assume_first_measurement_is_valid586933554.java:7)
at edu.measure.growth.Rule_assume_first_measurement_is_valid586933554DefaultConsequenceInvokerGenerated.evaluate(Unknown Source)
at edu.measure.growth.Rule_assume_first_measurement_is_valid586933554DefaultConsequenceInvoker.evaluate(Unknown Source)

这是它在错误日志中引用的规则:

rule "assume first measurement is valid"
when
    // consider all measurements that have not been validated
    $m: Measurement($type: parameter, valid == false, $dt: date)
    // verify no measurements occur after target date
    not Measurement(parameter == $type, date<$dt))
then
    modify($m) {setValid(true);}
end

似乎不想使用 < 运算符进行比较。这是其他人遇到的常见错误吗?我一直无法找到有关如何修复它的任何信息,因此将不胜感激任何帮助!

4

1 回答 1

1

您使用的是什么 DROOLS 版本?

似乎这是一个已修复的错误: https ://issues.jboss.org/browse/DROOLS-37?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

于 2013-04-24T16:17:10.143 回答