From: Robert Varga Date: Fri, 23 Oct 2020 16:54:51 +0000 (+0200) Subject: Make cds-mgmt-api a JPMS module X-Git-Tag: v3.0.2~8 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=c805b57270f82d09d460672372d8d21f5aa54fde Make cds-mgmt-api a JPMS module There is little content here, let's formalize it into a module, so it plays nice with others. While we are at it, add explicit @MXBean annotations, so that our intent is documented beyond naming properties. JIRA: CONTROLLER-1965 Change-Id: I27cc7070559f1156b0cd1d85916356e3297a49f9 Signed-off-by: Robert Varga --- diff --git a/opendaylight/md-sal/cds-mgmt-api/pom.xml b/opendaylight/md-sal/cds-mgmt-api/pom.xml index 9dee448583..10c045887d 100644 --- a/opendaylight/md-sal/cds-mgmt-api/pom.xml +++ b/opendaylight/md-sal/cds-mgmt-api/pom.xml @@ -18,7 +18,10 @@ maven-bundle-plugin - org.opendaylight.controller.cluster.mgmt.api + + javax.management;resolution:=optional, + * + diff --git a/opendaylight/md-sal/cds-mgmt-api/src/main/java/module-info.java b/opendaylight/md-sal/cds-mgmt-api/src/main/java/module-info.java new file mode 100644 index 0000000000..758f7d1f58 --- /dev/null +++ b/opendaylight/md-sal/cds-mgmt-api/src/main/java/module-info.java @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +module org.opendaylight.controller.cluster.mgmt.api { + exports org.opendaylight.controller.cluster.mgmt.api; + // FIXME: 4.0.0: collapse these packages + exports org.opendaylight.controller.cluster.datastore.jmx.mbeans; + exports org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard; + + // Annotation-only dependencies + requires static java.management; + requires static org.eclipse.jdt.annotation; +} diff --git a/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/CommitStatsMXBean.java b/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/CommitStatsMXBean.java index fee73688f8..c1e836d937 100644 --- a/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/CommitStatsMXBean.java +++ b/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/CommitStatsMXBean.java @@ -7,11 +7,14 @@ */ package org.opendaylight.controller.cluster.datastore.jmx.mbeans; +import javax.management.MXBean; + /** * MXBean interface for retrieving write Tx commit statistics. * * @author Thomas Pantelis */ +@MXBean public interface CommitStatsMXBean { /** * Returns the total number of commits that have occurred. diff --git a/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/DatastoreConfigurationMXBean.java b/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/DatastoreConfigurationMXBean.java index 2b9306cbbe..1e2a2202f1 100644 --- a/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/DatastoreConfigurationMXBean.java +++ b/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/DatastoreConfigurationMXBean.java @@ -7,11 +7,14 @@ */ package org.opendaylight.controller.cluster.datastore.jmx.mbeans; +import javax.management.MXBean; + /** * MXBean interface for data store configuration. * * @author Thomas Pantelis */ +@MXBean public interface DatastoreConfigurationMXBean { long getShardTransactionIdleTimeoutInSeconds(); diff --git a/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/DatastoreInfoMXBean.java b/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/DatastoreInfoMXBean.java index 8764493c25..581e90910f 100644 --- a/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/DatastoreInfoMXBean.java +++ b/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/DatastoreInfoMXBean.java @@ -7,11 +7,14 @@ */ package org.opendaylight.controller.cluster.datastore.jmx.mbeans; +import javax.management.MXBean; + /** * JMX bean for general datastore info. * * @author Thomas Pantelis */ +@MXBean public interface DatastoreInfoMXBean { double getTransactionCreationRateLimit(); diff --git a/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardDataTreeListenerInfoMXBean.java b/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardDataTreeListenerInfoMXBean.java index 15e1cfd26b..c75ca89def 100644 --- a/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardDataTreeListenerInfoMXBean.java +++ b/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardDataTreeListenerInfoMXBean.java @@ -8,6 +8,8 @@ package org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard; import java.util.List; +import javax.management.MXBean; +import org.eclipse.jdt.annotation.NonNullByDefault; import org.opendaylight.controller.cluster.mgmt.api.DataTreeListenerInfo; /** @@ -15,6 +17,9 @@ import org.opendaylight.controller.cluster.mgmt.api.DataTreeListenerInfo; * * @author Thomas Pantelis */ +@MXBean +@NonNullByDefault public interface ShardDataTreeListenerInfoMXBean { + List getDataTreeChangeListenerInfo(); } diff --git a/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardStatsMXBean.java b/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardStatsMXBean.java index 4e5130c0d5..05a0739636 100644 --- a/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardStatsMXBean.java +++ b/opendaylight/md-sal/cds-mgmt-api/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardStatsMXBean.java @@ -5,10 +5,10 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard; import java.util.List; +import javax.management.MXBean; import org.opendaylight.controller.cluster.mgmt.api.FollowerInfo; /** @@ -16,6 +16,7 @@ import org.opendaylight.controller.cluster.mgmt.api.FollowerInfo; * * @author syedbahm */ +@MXBean public interface ShardStatsMXBean { String getShardName();