kie-api
这篇文章介绍了即将到来的Drools和jBPM持久性API。 创建持久性api(不绑定到JPA)的动机是因为Drools和jBPM中的持久性直到7.0.0发行版才允许将替代性持久性机制与JPA完全集成。 尽管JPA是一个出色的api,但它与传统RDBMS模型紧密地结合在一起,并具有从那里继承的缺点-难以扩展,并且难以在不断扩展的系统上获得良好的性能。 使用新的api,我们可以集成各种通用的NoSQL数据库,并创建紧密定制的持久性机制,以实现最佳性能和可伸缩性。
在撰写本文时,已经实现了几种实现-默认的JPA机制,Inifinispan和MapDB的两个通用NoSQL实现后端(将作为贡献提供),以及在本文中不久将讨论的单个定制NoSQL实现。
Drools和jBPM持久性机制中所做的更改,其新功能,以及如何为KIE组件构建全新的持久性实现,是即将添加新的MapDB集成实验模块的基础。 现有的Infinispan改编版已进行更改,以适应新的结构。
由于这种重构,除非我们的特定持久性实现基于JPA,否则我们现在可以在不依赖JPA的情况下为KIE提供其他持久性实现。 但是,它暗示了一组更改:
创建drools-persistence-api和jbpm-persistence-api
在版本6中,大多数持久性组件和接口仅存在于JPA项目中,在这些项目中必须从其他持久性中重用它们。 我们必须重构这些项目以重用这些接口,而不必每次