Add @PreDestroy (and final) to AbstractDataTreeChangeListener's close 07/63507/2
authorMichael Vorburger <vorburger@redhat.com>
Mon, 25 Sep 2017 19:52:37 +0000 (21:52 +0200)
committerDavid Suarez <david.suarez.fuentes@gmail.com>
Tue, 26 Sep 2017 06:02:20 +0000 (06:02 +0000)
Change-Id: Ia13a6447f78eca0d888ed6801b8b47d17a35788c
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/datastoreutils/listeners/AbstractDataTreeChangeListener.java

index 95a71ea228d8f732b780c9ae077e31b0c1217df0..7c2a529b053048283503cbd8eb148045cdecb998 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.genius.datastoreutils.listeners;
 
+import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener;
@@ -38,7 +39,10 @@ abstract class AbstractDataTreeChangeListener<T extends DataObject> implements D
     }
 
     @Override
-    public void close() {
+    @PreDestroy
+    public final void close() {
+        // ^^^ final to avoid @Override without @PreDestroy
+        // JSR 250: "the method is called unless a subclass overrides the method without repeating the annotation"
         dataChangeListenerRegistration.close();
     }
 }