OpenStackSFCTranslatorProvider close() the *Listener/s it created 12/53912/3
authorMichael Vorburger <vorburger@redhat.com>
Mon, 27 Mar 2017 16:32:15 +0000 (18:32 +0200)
committerSam Hague <shague@redhat.com>
Wed, 29 Mar 2017 13:54:13 +0000 (13:54 +0000)
Change-Id: I408847f25e9ebb7efd0b1daa306f223b724380e5
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
vpnservice/sfc/translator/src/main/java/org/opendaylight/netvirt/sfc/translator/OpenStackSFCTranslatorProvider.java

index 1224fbb26281820f1baa0ab7063b38ee4ca57b38..8f3860e64da0220532f98d1d303a26ca516ad05d 100644 (file)
@@ -26,6 +26,10 @@ public class OpenStackSFCTranslatorProvider extends AbstractLifecycle {
     private static final Logger LOG = LoggerFactory.getLogger(OpenStackSFCTranslatorProvider.class);
     private final DataBroker dataBroker;
     private final RenderedServicePathService rspService;
+    private NeutronFlowClassifierListener neutronFlowClassifierListener;
+    private NeutronPortPairListener neutronPortPairListener;
+    private NeutronPortPairGroupListener neutronPortPairGroupListener;
+    private NeutronPortChainListener neutronPortChainListener;
 
     @Inject
     public OpenStackSFCTranslatorProvider(final DataBroker dataBroker, final RenderedServicePathService rspService) {
@@ -37,10 +41,10 @@ public class OpenStackSFCTranslatorProvider extends AbstractLifecycle {
     @Override
     protected void start() {
         LOG.info("{} start", getClass().getSimpleName());
-        new NeutronFlowClassifierListener(dataBroker);
-        new NeutronPortPairListener(dataBroker);
-        new NeutronPortPairGroupListener(dataBroker);
-        new NeutronPortChainListener(dataBroker, rspService);
+        neutronFlowClassifierListener = new NeutronFlowClassifierListener(dataBroker);
+        neutronPortPairListener = new NeutronPortPairListener(dataBroker);
+        neutronPortPairGroupListener = new NeutronPortPairGroupListener(dataBroker);
+        neutronPortChainListener = new NeutronPortChainListener(dataBroker, rspService);
         if (this.rspService == null) {
             LOG.warn("RenderedServicePath Service is not available. Translation layer might not work as expected.");
         }
@@ -48,6 +52,10 @@ public class OpenStackSFCTranslatorProvider extends AbstractLifecycle {
 
     @Override
     protected void stop() {
+        neutronFlowClassifierListener.close();
+        neutronPortPairListener.close();
+        neutronPortPairGroupListener.close();
+        neutronPortChainListener.close();
         LOG.info("{} close", getClass().getSimpleName());
     }
 }