В настоящее время способ настройки проекта заключается в том, что мы можем клиент / клиенты вызывать наш сервер 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, я хотел бы по возможности использовать эту логику на стороне сервера.