首页 > 解决方案 > Drools 中的 Java 8 日期/时间 - 性能与 java.util.Date?

问题描述

我正在探索将 Drools 与日期/时间是 Java 8 对象(和)的事实对象OffsetDateTime一起OffsetTime使用LocalDate。我知道 Drools 更喜欢java.util.Date- 嘘!- 所以给定一个事实类

public class Fact {
  private LocalDate date;
  ...
}

那么这种形式不起作用:

rule "Date is 12-FEB (native)"
dialect "mvel"
  when
    Fact( date == "2019-02-12" )
  then
    insert(drools.rule.name);
  end

但这些形式中的任何一种都有效:

rule "Date is 12-FEB (parse)"
dialect "mvel"
  when
    Fact( date == LocalDate.parse("2019-02-12") )
  then
    insert(drools.rule.name);
  end

rule "Date is 12-FEB (of)"
dialect "mvel"
  when
    Fact( date == LocalDate.of(2019, 2, 12) )
  then
    insert(drools.rule.name);
  end

所以我的问题是,这些LocalDate对象是一次性烘焙的KieContainer,还是每次我调用时都会重新创建KieContainer.newKieSession(...)

换句话说,以这种方式使用 Java 8 日期/时间是否会影响性能java.util.Date

标签: javadatedroolslocaldate

解决方案


推荐阅读