X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fconfig%2Fconfig-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fmanager%2Fimpl%2Fosgi%2FExtenderBundleTracker.java;h=b55f3135d26cfbf1d583c0d7259905b6e9380d31;hb=refs%2Fchanges%2F75%2F4275%2F1;hp=29e7e3a656ccba0f31bc6270567ac5c8bdb2342b;hpb=2c6fd09ad16f5c2968390a674865efbbe5f1fcec;p=controller.git 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 29e7e3a656..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 @@ -14,19 +14,15 @@ import java.net.URL; import java.util.List; import org.apache.commons.io.IOUtils; -import org.opendaylight.controller.config.api.jmx.CommitStatus; -import org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl; import org.opendaylight.controller.config.spi.ModuleFactory; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; import org.osgi.framework.BundleEvent; -import org.osgi.framework.BundleException; import org.osgi.framework.ServiceRegistration; import org.osgi.util.tracker.BundleTracker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.management.ObjectName; /** * OSGi extender that listens for bundle activation events. Reads file @@ -38,11 +34,12 @@ import javax.management.ObjectName; * 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); } @@ -68,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