我正在尝试使用注入集成的kie(drools 6)构建一个web(spring-mvc)应用程序.我使用kie workbench创建了一个工作流程,编译和部署.我已经在我的项目的pom.xml中添加了这个工件的引用,并根据这篇博客文章添加了本地kie-workbench存储库,并且它工作正常(在我的maven/spring项目中将工件作为依赖项拉入).我想要做的是在我的一个服务中注入kiesession作为依赖与下面的片段 -
@Service public class TniServiceImpl implements TniService { @Inject @KSession("tniSession") private KieSession tniSession; ... }
在我的root-context.xml中,我添加了kie名称空间以及对xsd的引用.我添加了org.kie.spring.KModuleBeanFactoryPostProcessor以及每个drools文档.我正在尝试为KSession扫描和注入进行CDI注入工作(它已经在同一个项目中使用@Inject工作了我的其他组件).到目前为止,我总是得到"没有找到类型[org.kie.api.runtime.KieSession]的限定bean依赖"错误.看起来spring无法扫描其中可用的kie模块和会话.需要以下帮助 -
CDI是否真的支持弹簧?我一定要配置kmodules和kession明确这里所说?
我在这里遗漏了一些应该使扫描和注射工作的东西吗?
我的环境如下 -
spring 3.2.6-RELEASE(包括webmvc和其他组件)
kie-api-6.0.1.FINAL
kie-spring-6.0.1.FINAL
kie-internal-6.0.1.FINAL
我已经通过以下链接,但没有运气(大多数情况下他们没有尝试做我的意思) -
直接从存储库加载Drools/KIE Workbench工件
为什么将Drools 6 KIE JAR加载到代码失败?
我很感激,如果有人可以指导我在这里可能缺少什么,或者如果没有选择,只能在spring配置文件中明确定义所有kmodules/ksessions.