Как подключиться к базе данных и сохранить каждый запрос и ответ с помощью Drools и Hibernate? - PullRequest
0 голосов
/ 29 октября 2019

В настоящее время способ настройки проекта заключается в том, что мы можем клиент / клиенты вызывать наш сервер kie, и сервер kie затем передает запрос в контейнер kie, который возвращает ответ на основании запроса. Я пытаюсь сохранить каждый запрос в контейнер Drools и каждый ответ из контейнера в базе данных Postgres.

Я пытался перехватить вызов на стороне kie-сервера (до того, как вызов переходит наконтейнер), но кажется, что Spring HandleInterceptor не может перехватывать вызовы Kie Server Rest, поэтому я сейчас пытаюсь сохранить каждый запрос / ответ на стороне контейнера.

В настоящее время это то, что яя пытаюсь. Я могу подключиться к базе данных, но все еще нужно интегрировать с Hibernate для сохранения данных. Но проблема с этим подходом заключается в том, что он требует открытия и закрытия соединения с базой данных для каждого правила.

rule "Rule 1"
    salience 1000
    dialect "mvel"
    when
        condition 1
    then
        database = new Database();
        database.connect();
        database.save(request);

        //do some logic on request to generate response

        database.save(response);

Есть ли лучший способ сделать это? Я видел несколько примеров передачи сеанса гибернации на стороне клиента в kieSession, но, поскольку у нас может быть много разных клиентов, вызывающих наш сервер kie, я хотел бы по возможности использовать эту логику на стороне сервера.

...