Возможна интеграция Oracle-Drools?

#oracle #integration #drools

#Oracle #интеграция #drools

Вопрос:

У меня есть несколько файлов Drools. Я хотел бы, чтобы эти файлы Drools воздействовали на определенные записи в базе данных Oracle, а затем их результат должен обновлять или вставлять определенные записи.

Возможно ли это?

Ответ №1:

Drools — реактивный инструмент. При вставке объектов drools создает rete tree для запуска условия THEN во время запуска правил. Следовательно, вам придется утверждать объекты в рабочей памяти, чтобы запустить правила.

Ответ №2:

Вам нужно либо загрузить записи из базы данных и вставить их в базу знаний перед запуском правил, либо вы можете использовать ключевое слово «from» для получения записей во время выполнения правила.

Вот пример того, как вы можете получать записи из базы данных, используя «from» и Hibernate:

 # Hibernate session is a global    
global org.hibernate.Session hibernateSession;

rule "hibernate_from"
    when
        game:Game() from hibernateSession.createQuery("select games from Player p where p.age >= :age").setProperties( {"age" : 18 }).list()
    then

        # This is the condition part of the rule, it contains MVEL or in this case Java code
        System.out.println("The game " game.getName()  "is owned by " game.getPlayers());
end
  

Обновление и вставка записей могут быть выполнены в разделе условия правила Drools. Эта часть правила может быть написана таким же образом, как и любая программа Java.

Для получения дополнительной информации о «from» проверьте следующее:

Документация Drools

Блог Ярослава Кияновски

Drools amp; jBPM blog