Our server applications have two pieces: a configuration/update manager and the application itself. The update manager is loaded as a bootstrap feature, and the application is loaded as a normal feature. They are completely separate and do not share any code, but they do have some common bundle dependencies, which makes it susceptible to wiring conflicts if the application uses a more recent version that the update manager supports. Because of this we've had to start bundling the update manager in with all of our applications, so that the application build will enforce the correct bundle versions for the update manager also.
Can Karaf provide full isolation of one feature from another, so that all of their bundles and dependencies are invisible to the other and won't trigger any wiring conflicts? We can tune our builds to deploy either KAR and feature.xml files or anything else we need, as long as we can meet this goal.
