Drools使用Java 8 Local Date进行日期比较

时间:2018-06-06 20:47:44

标签: java-8 drools localdate

我有一个使用Java 8 Local Date进行模式匹配的规则。不幸的是,这种比较不适用于Java 8 Local日期,但适用于旧的java.util.Date API。

这是我的规则:

 rule "NJ Trauma Rule"
        when
            $bill : MedicalBillData ( treatmentState == "NJ" , lossDate >= "01-JAN-2017" ) // Not OK
//Correct syntax
$bill : MedicalBillData ( treatmentState == "NJ" , 
                                    lossDate.isAfter(LocalDate.of(2017, 7, 1)) )
            then 
                //Some actions

    end

// POJO

public class MedicalBillData
  {
    private LocalDate lossDate;
    private String treatmentState;
   }

错误:

无法分析表达式lossDate> = new java.util.Date(1483250400000): [错误:比较操作需要兼容类型。找到类java.time.LocalDate和类java.util.Date] [近:{... lossDate> = new java.util.Date(1483250400000)....}]                                                           ^:[规则名称='NJ创伤规则使用Java 8 Date']

Drools版本:7.5.0.Final

Java:8

非常感谢任何解决问题的方法!

0 个答案:

没有答案