Hi Till,

good pointer.
This was in issue with two parallel branches (mine and Tims).

I would rather Opt for Renaming the MBean to TriggeredScraperImplMBean.

This should also work, or?

Julian

Am 27.08.19, 09:24 schrieb "Till Voß" <[email protected]>:

    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
    

Reply via email to