gpt4 book ai didi

java - OSGi 中的反序列化问题

转载 作者:行者123 更新时间:2023-12-01 12:16:00 25 4
gpt4 key购买 nike

我正在使用 OSGi 插件,但遇到反序列化问题。

假设有两个插件 A 和 B。插件 A 是通用的,会在很多应用程序中使用,而插件 B 只特定于一个应用程序。插件 A 基本上是所有应用程序的框架。插件 B 使用插件 A 的 API 来保存状态信息。因此,插件 B 依赖于 A,但 A 不依赖于 B。

为了简单起见,假设我将信息存储在插件 A 的 HashMap 中。实现 Serialized 的类 X 存在于插件 B 中。插件 A 将其序列化并存储。在反序列化过程中,插件 A 无法找到类 X,因此失败。我无法将 X 类添加到插件 A,因为插件 A 是通用的,在 A 中没有任何意义。

X 类在运行时可用。解决这个问题的正确而干净的方法是什么?

提前致谢。

最佳答案

听起来插件 A 是一个缓存。插件 A 的设计方式应该是在初始化期间(或在每次请求期间)可以传入类加载器。如果不是这样设计的,那么它并不是真正的OSGi友好的,不应该在OSGi环境中使用。

例如:EHCache、Infinispan等缓存引擎允许在缓存初始化期间传递Classloader实例。

关于java - OSGi 中的反序列化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27010799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com