由于 SessionsAwareKnowledgeBase 实现了无法序列化的 KieBase。
用例:需要序列化kiebase并存储到缓存(redis)中。在运行时我必须反序列化 kiebase。
请帮我解决这个问题。
尝试使用编组 kiesessions 并将其保存在缓存中,但是当从缓存中拉出时,我们甚至需要 kiebase 来解组。
KieBase
在 Drools 8.x 中不再可序列化。 这是 Drools 作者的“明确决定”。 如果您确实需要序列化,您应该考虑降级到最新的 7.x 版本(实际上是7.74.1.Final)。 另请注意,从 7.45.0.Final 到 7.66.0.Final 的版本有一个与序列化相关的错误。
我们也有类似的问题。继续 7.74 会让我们暴露于项目中的 jsoup 漏洞。
由于我们系统中的规则数量较多,我们当前的系统为了性能而预编译了规则。我们需要一种方法来存储预编译的规则并将它们读回到系统中,从而创建一个 KieBase 对象。
我们不想为了性能而牺牲脆弱性。一定有解决办法。