繁体   English   中英

用于有状态 kiesession 的 Drools Spark Streaming 集成

[英]Drools Spark Streaming integration for stateful kiesession

我正在使用流口水和火花流。 我想在火花流上下文中的整个工作中维护 KieSession。 spark中每个工作节点的每个会话。 我知道 kiesession 是插入和查询事实的地方。 根据我的理解 session 是实际构建 rete 网络并将事实插入到 alpha 和 beta 内存中的会话。 所以我的想法是在整个工作中为每个工作名称创建一个每个 kiesession,以便在 kiesession 中维护状态。 但我无法广播 kiesession,因为它没有序列化。 有没有其他方法可以为火花流上下文中的每个工作节点只实现一个有状态会话(KieSession)。

您可以使用org.kie.api.marshalling.Marshaller编组/解组org.kie.api.marshalling.Marshaller ,这里是org.kie.internal.marshalling.MarshallerFactory javadoc

MarshallerFactory 用于编组和解组 StatefulKnowledgeSession。 最简单的它可以如下使用:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM