I have use cases where i have cyclic dependencies , and i am forced to use Dynamic imports(my resolution process fails in cases of some cyclic dependencies)
Hence when trying to understand how costly it could be , i see the following quotes in OSGi reference guide.
" The key difference between these two mechanisms is when the wires are
made. An attempt is made to establish a wire for a dynamic import every time there is an attempt to load a class in that package, whereas the wire for a resolution optional package may only be established when the bundle is resolved."
Does this means when request for that package comes at runtime for the second , the first time process will be repeated ?
But this contradicts to what is said in the subsequent section of the reference guide
" During class loading, the package of the class being loaded is compared against the specified list of (possibly wild-carded) package names. Each matching package name is used in turn to attempt to wire to an export using the same rules as Import-Package. If a wiring attempt is successful (taking any uses constraints into account), the search is forwarded to the exporter’s class loader where class loading continues. The wiring must not subsequently be modified, even if the class cannot be loaded. This implies that once a package is dynamically resolved, subsequent attempts to load classes or resources from that package are treated as normal imports."
Aren't these two statements contradicting ?


