From: Robert Varga Date: Wed, 23 Dec 2015 23:55:54 +0000 (+0100) Subject: InternalJMXRegistration should be an ObjectRegistration X-Git-Tag: release/beryllium~27 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=2895ebebbc5178ff051b5611341444159dd69770 InternalJMXRegistration should be an ObjectRegistration This way it follows AutoCloseable#close() contract, e.g. allows multiple invocations. Change-Id: Ied93bbdd388189a928cf06cbbc913fe124a284dd Signed-off-by: Robert Varga --- diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/InternalJMXRegistration.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/InternalJMXRegistration.java index 4f4f99027d..5698e54fd1 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/InternalJMXRegistration.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/InternalJMXRegistration.java @@ -9,18 +9,18 @@ package org.opendaylight.controller.config.manager.impl.jmx; import com.google.common.base.Preconditions; import javax.management.ObjectName; +import org.opendaylight.yangtools.concepts.AbstractObjectRegistration; -final class InternalJMXRegistration implements AutoCloseable { +final class InternalJMXRegistration extends AbstractObjectRegistration { private final InternalJMXRegistrator internalJMXRegistrator; - private final ObjectName on; InternalJMXRegistration(final InternalJMXRegistrator internalJMXRegistrator, final ObjectName on) { + super(on); this.internalJMXRegistrator = Preconditions.checkNotNull(internalJMXRegistrator); - this.on = on; } @Override - public void close() { - internalJMXRegistrator.unregisterMBean(on); + protected void removeRegistration() { + internalJMXRegistrator.unregisterMBean(getInstance()); } }