+
+ String refreshedBundles = props
+ .getProperty("slc.detached.refreshedBundles");
+ if (refreshedBundles != null) {
+ Bundle[] bundles = bundleContext.getBundles();
+ Bundle bundle = null;
+ for (int i = 0; i < bundles.length; i++) {
+ if (bundles[i].getSymbolicName().equals(refreshedBundles)) {
+ bundle = bundles[i];
+ }
+ }
+
+ if (bundle != null) {
+ try {
+ bundle.stop();
+ bundle.update();
+ bundle.start();
+ log.info("Refreshed bundle " + bundle.getSymbolicName());
+ } catch (BundleException e) {
+ throw new DetachedException("Could not refresh bundle "
+ + bundle.getSymbolicName(), e);
+ }
+ } else {
+ log.warn("Did not find bundle to refresh " + refreshedBundles);
+ }
+
+ }
+