我正在尝试使用通过注入集成的 kie (drools 6) 构建一个 web (spring-mvc) 应用程序。我使用 kie 工作台创建工作流,编译和部署。我在我的项目的 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 以及 per drools 文档。我正在尝试使 CDI 注入为 KSession 扫描和注入工作(它已经在同一个项目中为我的其他组件工作,使用 @Inject)。到目前为止,我总是收到“没有找到依赖项的 [org.kie.api.runtime.KieSession] 类型的合格 bean”错误。看起来 spring 无法扫描其中可用的 kie 模块和会话。在以下方面需要帮助 -
- Spring真的支持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
我已经浏览了以下链接,但没有运气(大多数情况下他们并没有尝试做我的工作)-
如果有人能指导我这里可能缺少的部分,或者除了在 spring 配置文件中明确定义所有 kmodules/ksessions 之外别无选择,我将不胜感激。