Преобразование Drools Fusion в давно не поддерживается из java.time.ZonedDateTime

Я пытаюсь использовать временные операторы Drools Fusion до, после и совпадает, но постоянно получаю сообщение об ошибке:

Преобразование в длинное не поддерживается из java.time.ZonedDateTime

В моих объектах время, которое я сравниваю, — это ZonedDateTime. Требует ли Drools переменные времени определенного типа? Что означает ошибка при преобразовании в long?

Я пробовал использовать .isBefore() и .isAfter(), но похоже, что Drools не распознает эти функции.


person mzinser_dev    schedule 25.01.2017    source источник
comment
Drools счастлив, если он может сравнивать длинные значения, полученные с помощью java.util.getTime(). Возможно, вам придется добавить геттер в ваш класс фактов, возвращающий его, преобразованный из ZonedDateTime.   -  person laune    schedule 25.01.2017


Ответы (1)


Начиная с версии Drools 7.0.0.Beta8, можно использовать временные операторы CEP, используя также java.time.ZonedDateTime, наряду с более широкой поддержкой java.time.

Более подробную информацию о временных операторах для поддержки классов java.time можно найти здесь: DROOLS-1490 , пока не выйдет финальный выпуск v7 с примечаниями к выпуску документации.

person tarilabs    schedule 31.03.2017