При переходе с версии 5.5.0.Final Drools на последнюю версию Drools 9.44.0.Final возникает загадочная ошибка.
У нас есть правило, которое вызывает метод Java, а затем этот метод вызывает запрос от Drools. В старой версии это работало нормально, но теперь в последних версиях не работает. Выполнение зависает.
Отладка, как будто текущее состояние повестки дня KieSessions было ЗАПУСКА, и вызов Query вызывает новый элемент в этой повестке дня, который блокируется навсегда и никогда не возвращается в код.< /p>
Пример кода:
////
// DROOLS
////
query javaToDrools
ves : Data()
end
rule "INSERT: New Item"
when
$data: MyData($id:id)
then
System.out.println("Insert Data: " + $id);
insert(new Data($data));
myJavaClass.droolsToJava();
end
////
// JAVA
////
public void droolsToJava() {
QueryResults results = session.getQueryResults("javaToDrools");
results.forEach(res -> {
res.toString();
});
session.fireUntilHalt();
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... l-to-query
Вызов из правила Drools на Java и вызов на запрос ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение