Java 8 даты / время в Drools - производительность против java.util.Date? - PullRequest
0 голосов
/ 14 июня 2019

Я исследую использование 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?

...