Hi all,
currently i am developing a plc4x logstash plugin and i have an issue with the TriggeredScraper. The TriggeredScraperImpl implements the interface "TriggeredScraperMBean". The File "TriggeredScraperImpl.java" contains line 163 "mBeanServer.registerMBean(this, new ObjectName(MX_DOMAIN, "scraper", "scraper"));", which leads to the following exception: > > *09:05:26.915 [main] DEBUG > org.apache.plc4x.java.scraper.triggeredscraper.TriggeredScraperImpl - > Unable to register Scraper as MBean* > *javax.management.NotCompliantMBeanException: MBean class > org.apache.plc4x.java.scraper.triggeredscraper.TriggeredScraperImpl does > not implement DynamicMBean, and neither follows the Standard MBean > conventions (javax.management.NotCompliantMBeanException: Class > org.apache.plc4x.java.scraper.triggeredscraper.TriggeredScraperImpl is not > a JMX compliant Standard MBean) nor the MXBean conventions > (javax.management.NotCompliantMBeanException: > org.apache.plc4x.java.scraper.triggeredscraper.TriggeredScraperImpl: Class > org.apache.plc4x.java.scraper.triggeredscraper.TriggeredScraperImpl is not > a JMX compliant MXBean)* > * at > java.management/com.sun.jmx.mbeanserver.Introspector.checkCompliance(Introspector.java:177)* > * at > java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:313)* > * at > java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)* > * at > org.apache.plc4x.java.scraper.triggeredscraper.TriggeredScraperImpl.<init>(TriggeredScraperImpl.java:163)* > * at > org.apache.plc4x.java.scraper.triggeredscraper.TriggeredScraperImpl.<init>(TriggeredScraperImpl.java:134)* > * at > org.apache.plc4x.java.scraper.triggeredscraper.TriggeredScraperImpl.<init>(TriggeredScraperImpl.java:96)* > * at org.apache.plc4x.logstash.Plc4x.start(Plc4x.java:116)* > * at > org.apache.plc4x.logstash.Plc4xInputTest.testPlc4xInput(Plc4xInputTest.java:51)* > * at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method)* > * at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)* > * at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)** > ....* This means the Standard MBean naming convention is violated. My proposed fix is to refactor the class name from "TriggeredScraperImpl" to "TriggeredScraper" to fulfil the naming conventions. What do you think? Best regards Till -- Till Voß codecentric AG | Kreuznacher Straße 30 | 60486 Frankfurt am Main | Deutschland mobil: +49 151 643 305 40 | fax: +49 69 714 02 682 Sitz der Gesellschaft: Solingen | HRB 25917 | Amtsgericht Wuppertal Vorstand: Michael Hochgürtel . Rainer Vehns . Ulrich Kühn Aufsichtsrat: Patric Fedlmeier (Vorsitzender) . Klaus Jäger . Jürgen Schütz