【发布时间】:2015-11-29 22:35:32
【问题描述】:
一般问题:更新源(类)包(并刷新框架)时,现有实例会发生什么情况?
例如,假设我有一个类的实例(Class A,instance-a),然后我在其包(Bundle A)中更改 Class A 的源,然后我更新 bundle-A 并刷新框架.在更新之前创建的 instance-a 是否“神奇地”具有新 A 类的更新功能?
同样,如果我有 B 类实例-b(来自包 B),并且 B 类扩展了 A 类(来自包 A),那么我如上所述更改/更新/刷新包 A,已经创建的实例-b有新 A 类的功能吗?
这两个问题的答案似乎都是“否”。似乎,作为一般规则,对于现存的实例,它们必须被重新实例化(丢弃并创建新实例)才能获得新功能。这是真的吗?
谢谢。
【问题讨论】:
-
“重新实例化”是错误的术语。我的意思是,必须丢弃以前的实例,并创建新实例以获得更新的功能。
标签: java osgi classloader osgi-bundle