簡體   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