我正在开发一个基于OSGi的应用程序。在记录OSGi框架的特性时,我无意中发现了扩展包的概念。引用R4规范(OSGi R4):
扩展包可以交付框架实现的可选部分,或者提供必须驻留在引导类路径上的功能。这些包不能由正常的进出口机制提供。引导类路径扩展是必要的,因为某些包实现假定它们位于引导类路径上,或者需要对所有客户端可用。引导类路径扩展的一个例子是java.sql的实现,例如JSR 169。
可能只是我太蠢了,但我很难理解这个概念。我有几个问题:
org.osgi.framework.system.packages.extra和org.osgi.framework.bootdelegation(即com.sun.*或sun.*)的相同的工作。我说的对吗?如果没有,他们之间有什么区别?org.osgi.framework.system.packages.extra和org.osgi.framework.bootdelegation来达到同样的效果;我知道已经有这就是答案了,但对我来说,它并没有完全达到目的。
谢谢您的回复!
发布于 2016-10-05 08:03:47
扩展包可以用来覆盖任何类,甚至是java.lang类。
例如,您可能希望在调用System.gc()时进行跟踪(例如,将堆栈跟踪写入日志文件)
https://stackoverflow.com/questions/39868428
复制相似问题