We have a usecase where we want to embed the Sling based war within an existing ear. In that mode we want to expose the repository instance registered by a different bundle (other than org.apache.sling.jcr.jackrabbit.server bundle) into the JNDI so that code within the ear can access the repository in InVM mode
Currently the Repository registration support logic is part of org.apache.sling.jcr.jackrabbit.server bundle. However this bundle is also responsible for creating and registering the Jackrabbit repository instance.
Attached is a patch which refactors the registration logic into a different bundle.
Points to note regarding patch
1. The RmiRegistrationSupport has been retained in the Jackrabbit Server Bundle due to its dependency on the Jackrabbit classes
2. The AbstractRegistrationSupport has been moved to a different package and part of exported package now and is now imported by JR Server bundle. This is done to support #1 above
3. The component names have been retained for backward compatibility support for configuration