Hi , I have developed an automatic upgrade installer , that would always pull down the latest features from a nexus repository as a night-time scheduled action. I had initially scripted it in karaf, but then implemented it in Java using karaf services.
The application is built as a set of features ( 18 to be exact ) and I have a summary feature ( my-app feature) that includes all the other features , except the upgrade-manager feature which has a self-upgrading as well as my-app upgrading capability A few of items are making it difficult to get it to work exactly as I want - and I wanted to know what could be wrong in my assumption/approach 1. While most of the features and bundles can be resolved based on karaf's resolution schemes , there are a couple of features whose bundles should be started only in the end - they depend on some interface bundles but work with implementations of the interfaces which should be available when they start - however even if these features are listed in the end of the feature definition all the bundles are started in alphabetic order. Eventually I have used bundle start-level to force these features to start last 2. Sometimes data migration needs to be done for features that are upgraded before they are started. So I would prefer to have the feature to be installed in stopped mode and then start it after migration. However even though I have provided the Option.NoAutoStartBundles enum option for FeatureService.installFeature, the bundles are always started on installation . 3. All the bundles are shutdown before the upgrade to ensure that there is no other activity during upgrade. However the very act of shutting down the my-app feature , causes many bundles in other features ( including the upgrade-manager which is completely isolated from the rest of my-app ) to restart themselves. How can this be prevented ? I am using Karaf 4.0.5 . I'd really appreciate insights/thoughts on these points. Regards Hari -- Hari 9845147731
