Drools 6 の「ユーザー ガイド」には、Drools の camel エンドポイントは次の形式である必要があると記載されています。
<to uri="kie:{1}/{2}" />
どこ
{1}:実行ノードに登録されているノード識別子CamelContext{2}: 識別子で実行ノードに登録されたナレッジ セッション識別子{1}
疑問 1 :
エンドポイントが構築される前にセッションが作成された場合、kmodule の増分変更は以前に作成されたセッションによってどのように取得されますか?
ドキュメントからの KScanner に関する声明:
KieScanner が Maven リポジトリーで、その KieContainer によって使用される Kie プロジェクトの更新バージョンを検出すると、新しいバージョンが自動的にダウンロードされ、新しいプロジェクトの増分ビルドがトリガーされます。この時点から、その KieContainer から作成されたすべての新しい KieBases および KieSessions は、新しいプロジェクトバージョンを使用します。
疑い#2
そして..このエンドポイントを構成して、動的に ksessions にルーティングしようとしています。
ソース コードをたどって、URI を に宣言し、kie:dynamic新しいセッションを に追加してみましたKieEndpoint.executorsByName。
KieEndpoint endPoint = (KieEndpoint)camel.getEndpoint("kie:dynamic");
endPoint.executorsByName.put(sessionName, kSession);
これは動的セッションを追加する正しい方法ですか? ユーザーガイドには、これに関するヒントはありませんでした。