X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fmanager%2Fimpl%2Fosgi%2FExtenderBundleTracker.java;h=b55f3135d26cfbf1d583c0d7259905b6e9380d31;hp=6663cddacfbbcbd6e143c1c5a488720a7f4d158d;hb=refs%2Fchanges%2F75%2F4275%2F1;hpb=b93d03906c0e83f36db5c08458edc35a5710af66 diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/ExtenderBundleTracker.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/ExtenderBundleTracker.java index 6663cddacf..b55f3135d2 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/ExtenderBundleTracker.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/osgi/ExtenderBundleTracker.java @@ -34,11 +34,12 @@ import org.slf4j.LoggerFactory; * Code based on http://www.toedter.com/blog/?p=236 */ public class ExtenderBundleTracker extends BundleTracker { - + private final BlankTransactionServiceTracker blankTransactionServiceTracker; private static final Logger logger = LoggerFactory.getLogger(ExtenderBundleTracker.class); - public ExtenderBundleTracker(BundleContext context) { + public ExtenderBundleTracker(BundleContext context, BlankTransactionServiceTracker blankTransactionServiceTracker) { super(context, Bundle.ACTIVE, null); + this.blankTransactionServiceTracker = blankTransactionServiceTracker; logger.trace("Registered as extender with context {}", context); } @@ -64,6 +65,8 @@ public class ExtenderBundleTracker extends BundleTracker { @Override public void removedBundle(Bundle bundle, BundleEvent event, Object object) { super.removedBundle(bundle,event,object); + // workaround for service tracker not getting removed service event + blankTransactionServiceTracker.blankTransaction(); } // TODO:test