数据库操作不是分散在四个 (osgi) 包中,而是全部执行略有不同的操作。我想创建一个(简单的)OSGi 包来负责所有持久性问题。我觉得这并不像听起来那么简单,因为“每个包都有唯一的类加载器”。
所以我真正感激的是如果有人知道此类问题的解决方案。
我可以想到两种方法来解决类加载问题。
- 您是否依赖于特定的 OSGi 框架,或者您希望尽可能保持兼容?或者你可以使用春分来实现吗?在 Equinox 中,有一种称为 Buddy Classloading 的机制。此添加允许您提高不同 OSGi-Bundles 之间某些类的可见性。如果您对这个主题感兴趣,我想引导您阅读这两篇文章:了解 Eclipse 插件如何与 OSGi 配合使用 http://www.ibm.com/developerworks/library/os-ecl-osgi/index.html, Eclipse - 两个虚拟机(和许多类加载器)的故事 http://www.eclipsezone.com/articles/eclipse-vms/.
- 如果您希望保持 OSGi 实现独立,那么您可能会考虑将您希望保留的类提取到一个单独的包中,Hibernate-Bundle 和其他包都依赖于该包。这样,他们都可以访问持久化类的类定义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)