我们正在将规则从drools 5.3.0迁移到drools 6.1.0在加载drools时获取permgen空间错误6 Kibase配置,
我们使用spring和dool 6集成代替KModule.xml来加载和执行规则
以下是我们正在做的简要说明:
1)定义基于弹簧的Kiebase配置,具有近200 Kibase
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空间下工作良好。我们在loadind规则时添加了更多的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中出现问题