From 00518e6fec2fee03d7ff373d977af328d701ad1f Mon Sep 17 00:00:00 2001 From: Kamal Rameshan Date: Thu, 20 Mar 2014 13:36:09 -0700 Subject: [PATCH 1/1] Bug:441-closing listener on stop of md-topologymaneger bundle Change-Id: Ic4081b36a557110f6daeb7a6fb8a3b39ee1be8b2 Signed-off-by: Kamal Rameshan --- .../manager/FlowCapableTopologyProvider.xtend | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/opendaylight/md-sal/topology-manager/src/main/java/org/opendaylight/md/controller/topology/manager/FlowCapableTopologyProvider.xtend b/opendaylight/md-sal/topology-manager/src/main/java/org/opendaylight/md/controller/topology/manager/FlowCapableTopologyProvider.xtend index 036fe733aa..73e03d1e7d 100644 --- a/opendaylight/md-sal/topology-manager/src/main/java/org/opendaylight/md/controller/topology/manager/FlowCapableTopologyProvider.xtend +++ b/opendaylight/md-sal/topology-manager/src/main/java/org/opendaylight/md/controller/topology/manager/FlowCapableTopologyProvider.xtend @@ -14,6 +14,7 @@ import org.opendaylight.yangtools.yang.binding.NotificationListener import org.slf4j.LoggerFactory import org.opendaylight.controller.sal.binding.api.AbstractBindingAwareProvider import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext +import org.osgi.framework.BundleContext; class FlowCapableTopologyProvider extends AbstractBindingAwareProvider implements AutoCloseable { @@ -35,7 +36,11 @@ class FlowCapableTopologyProvider extends AbstractBindingAwareProvider implement LOG.info("FlowCapableTopologyProvider stopped."); listenerRegistration?.close(); } - + + /** + * Gets called on start of a bundle. + * @param session + */ override onSessionInitiated(ProviderContext session) { dataService = session.getSALService(DataProviderService) notificationService = session.getSALService(NotificationProviderService) @@ -43,6 +48,14 @@ class FlowCapableTopologyProvider extends AbstractBindingAwareProvider implement exporter.start(); listenerRegistration = notificationService.registerNotificationListener(exporter); } + + /** + * Gets called during stop bundle + * @param context The execution context of the bundle being stopped. + */ + override stopImpl(BundleContext context) { + close(); + } } -- 2.36.6