Details
-
New Feature
-
Status: Open
-
Major
-
Resolution: Unresolved
-
Repoinit JCR 1.1.26
-
None
-
None
Description
JCR RepoInit supports references to URLs using the org.apache.sling.jcr.repoinit.impl.RepositoryInitializer service AND the OSGi framework supports resolving resources to bundles via the bundle:// URL protocol: https://docs.osgi.org/javadoc/r4v43/core/org/osgi/framework/Bundle.html#getResource(java.lang.String)
However, (in Apache Felix at least) the OSGi container generates the Bundle URLs based on a UUID rather than a stable identifier (such as the Bundle's Symbolic Name):
https://github.com/apache/felix-dev/blob/master/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleStreamHandler.java
While it is possible to resolve these UUID's at runtime, this requires an additional OSGi Component to resolve the Bundle URL and then create a configuration for the RepositoryInitializer.
Ideally, we would be able to use a URL to reference a bundle resource using the Symbolic Name, which would be resolved at runtime to the bundle UUID.