This article explains you how to avoid bundle refresh issues after migrating from 5.6.x to 6.0.x.
This procedure only applies when migrating from 5.6.x to 6.0.x. For all other versions of Talend Runtime, please refer to the Installation and Upgrade Guide.
After migrating from 5.6.x to 6.0.x, in some cases, when you are installing features, your Talend Runtime container, based on Karaf 4.0.x, may seem to refresh dozens of bundles, or may install or uninstall unexpected bundles.
If the container seems to refresh a lot more bundles than expected, this is because the refreshes can easily cascade.
As an example, a bundle that embeds an API package and also has an optional dependency to another package. If this optional dependency is fulfilled by a newly installed feature then the bundle is rewired and will cause all bundles that are wired to the API package to also be refreshed.
The Feature Service can be turned to verbose mode (-v) to show more details of what it does. The output will show which bundles are installed, uninstalled, refreshed, stopped and started.
feature:install -v activemq
In the above logged messages you will find lines like this:
org.ops4j.pax.web.pax-web-jsp/4.2.0 (Wired to org.ops4j.pax.web.pax-web-spi/4.2.0 which is being refreshed)
This means that pax-web-jsp is being refreshed because pax-web-spi is refreshed. So all lines containing "which is" are not the root cause. So it helps to use:
feature:install -t -v activemq | grep -v "which is"
The option -t (similate) makes sure you are only looking what would be changed but do not install anything. The grep part filters out all non root causes.
There are some ways to avoid such cascading refreshes: