Drools为州的Kiesession Spark流媒体集成



我正在使用流口水和火花流。我想在Spark流中环境中保持整个工作中的Kiesession。每个会话的每个工人节点在Spark中。我知道Kiesession是插入和查询事实的地方。根据我的理解,实际上是建立rete网络并将事实插入Alpha和Beta记忆的会议。因此,我的想法是为整个工作中的每个工作名称创建每个Kiesession,以便在Kiesession中保持各种状态。但是我无法播放Kiesession,因为它没有序列化。是否还有其他方法可以在火花流上下文中为每个工作人员节点实现单个状态会话(Kiesession)。

您可以使用org.kie.api.marshalling.Marshaller Marshall/Unmarshal Kiesession,这是org.kie.internal.marshalling.MarshallerFactory

的Javadoc

架子法规用于元使用和不明状态知识。在最简单的情况下,它可以使用如下:

// ksession is the StatefulKnowledgeSession
// kbase is the KnowledgeBase
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Marshaller marshaller = MarshallerFactory.newMarshaller( kbase );
marshaller.marshall( baos, ksession );
baos.close();

最新更新