Динамическое обновление конечной точки Drools на сервере Drools Camel

В «Руководстве пользователя» для 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);

Это правильный способ добавления динамических сеансов? Я не нашел никаких указаний в руководстве пользователя для этого.


person Ahamed Mustafa M    schedule 02.07.2014    source источник