|
Re: OSGI Cache and Feature Dependency: How does it work? [message #1844750 is a reply to message #1844723] |
Fri, 24 September 2021 06:01 |
Ed Merks Messages: 33229 Registered: July 2009 |
Senior Member |
|
|
This sounds like it's related to something called wiring and is in no way related to features but only to plugins. Plugins can require other plugins based on import packages and on required plugins. Many/most plugins are singletons, so the requirement on another plugin can only be satisfied by one plugin. But if the required plugin is not a singleton, or in the case of an imported package where more than one bundle/plugin provides that package, a choice must be made which plugin to "wire" to satisfy the requirement. The details of the wiring algorithm are complex because it's important to create a consistent set of wirings. I.e., if A requires B requires C and each of A, B, C also require D1, D2, or E, then it's generally good (and necessary if the classes from D1, D2, or E are exposed in the API of A, B, and C) if A, B, and C are all wired to the same choice of D1, D2, or E, not to different ones.
The issue you describe arises because of incremental updates to the wiring. I.e., new things are added/installed, which OSGi detects at startup so it must determine wirings for those things. But, in older versions of Eclipse, it did that incrementally, generally preserving the wirings of those things previously wired. As such, it could well come up with a wiring that is different from the wiring produced by rewiring all the plugins from scratch, i.e., what you see with -clean.
So this behavior of an already-installed plugin wiring to an already installed older version of some plugin for which an additional newer version has been installed is to be expected.
I believe this behavior was changed, last year, but I don't remember specifically when.
Of course you have influence over the wiring by explicitly requiring new/higher versions...
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
Powered by
FUDForum. Page generated in 0.03375 seconds