ルールを drools 5.3.0 から drools 6.1.0 に移行しています
ルールのロードと実行には、KModule.xml の代わりに spring と doo 6 の統合を使用しています。
ここに私たちがやっていることを簡単に示します:
1) ほぼ 200 の Kibase を持つ定義済みのスプリング ベースの Kiebase 構成
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring- context-3.1.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd http://www.springframework.org/schema /oxm http://www.springframework.org/schema/oxm/spring-oxm-3.1.xsd
http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd
http://drools.org/schema/kie-spring http://drools.org/schema/kie-spring.xsd">
<kie:kmodule id="TEST_KIE_MODULE">
<kie:kbase name="KIE_BASE_1" packages="rules.test1"/>
<kie:kbase name="KIE_BASE_2" packages="rules.test2"/>
.
.
.
.
<kie:kbase name="KIE_BASE_200" packages="rules.test2"/>
<bean id="kiePostProcessor" class="org.kie.spring.KModuleBeanFactoryPostProcessor">
<constructor-arg name="configFileURL" value=""></constructor-arg>
<constructor-arg name="configFilePath" value="../TestApp/src/main/resources"></constructor-arg>
</bean>
2)例 20 の KB が少ない場合、512 permgen space で正常に動作していました。KibeBase 構成をいくつか追加したため、ルールのロード中に permgen スペースの問題が発生しました。
3) ここに私たちがやっていることを簡単に示します:
1)最初にKB構成全体をコンパイルし(アプリケーションの起動)、 tocache に保存します。2) ルールの実行中に、特定の入力パラメーターに基づいて修飾された KB を取得し、その KB からすべてのルールを起動します。3) 各 KB には、平均 50 ~ 60 のルールがあります。4) ステップ 1 で、512 の perm gen space の問題が発生しています。
あなたの助けはこれに感謝します。同じ構成が drool 5.3.0 で動作していましたが、drools 6.1.0 で問題が発生しました