目标:
我正在尝试使用Drools-Spring集成功能将Drools 6.0与我的应用程序集成。
面临的问题:
我需要在spring上下文XML中定义知识库,并在启动时创建Spring容器时使用Spring Expression Language将包名称动态传递到知识库中。但是,当Drools框架创建包名时,它们不会被注入知识库。
如果我定义包名并将其硬编码到"包" kbase标签的属性,它的工作原理。
有没有办法让我知道是否有办法让包名被动态传递到"包" kbase标签的属性。这是因为我的客户端应用程序将在设置知识库时提供软件包名称,并且我试图不对其进行硬编码。
XML配置:
<bean id="packageRepository" class="test.PackageRepository">
<property name="packages" value="packageA,packageB"/>
</bean>
<kie:kmodule id="kmodule">
<kie:kbase name="testKnowledgeBase" packages="#{packageRepository.packages}"/>
</kie:kmodule>