From 781821ac9e5c4f286c95bb7e949fe73623c26a9b Mon Sep 17 00:00:00 2001 From: elcallio Date: Tue, 11 Oct 2016 14:01:35 +0200 Subject: [PATCH] Make APIMBean name derivation check interface fields as well. --- src/main/java/com/scylladb/jmx/metrics/APIMBean.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/java/com/scylladb/jmx/metrics/APIMBean.java b/src/main/java/com/scylladb/jmx/metrics/APIMBean.java index 23d5d3c..4c57171 100644 --- a/src/main/java/com/scylladb/jmx/metrics/APIMBean.java +++ b/src/main/java/com/scylladb/jmx/metrics/APIMBean.java @@ -133,6 +133,18 @@ public class APIMBean implements MBeanRegistration { } catch (Throwable t) { } } + if (mbeanName == null) { + for (Class c : getClass().getInterfaces()) { + Field f; + try { + f = c.getDeclaredField("OBJECT_NAME"); + f.setAccessible(true); + mbeanName = (String) f.get(null); + break; + } catch (Throwable t) { + } + } + } if (mbeanName == null) { String name = getClass().getName(); int i = name.lastIndexOf('.');