В «Руководстве пользователя» для Drools 6 указано, что конечная точка верблюда для drools должна иметь следующий формат:
<to uri="kie:{1}/{2}" />
куда
{1}
: Идентификатор узла выполнения, зарегистрированный вCamelContext
{2}
: идентификатор сеанса знаний, который был зарегистрирован в узле выполнения с идентификатором{1}
.
Сомнение № 1:
Если сеансы создаются до создания конечных точек, как добавочные изменения в kmodule будут восприняты ранее созданными сеансами?
Заявление о KScanner из документа:
Если KieScanner находит в репозитории Maven обновленную версию проекта Kie, используемого этим KieContainer, он автоматически загружает новую версию и запускает добавочную сборку нового проекта. С этого момента все новые KieBases и KieSessions, созданные из этого KieContainer, будут использовать новую версию проекта.
Сомнение № 2
И... я пытаюсь настроить эту конечную точку для динамического маршрутизации к сеансам.
Просматривая исходный код, я попытался объявить uri для kie:dynamic
и добавить новые сеансы для KieEndpoint.executorsByName
, например
KieEndpoint endPoint = (KieEndpoint)camel.getEndpoint("kie:dynamic");
endPoint.executorsByName.put(sessionName, kSession);
Это правильный способ добавления динамических сеансов? Я не нашел никаких указаний в руководстве пользователя для этого.