8 Replies Latest reply on May 6, 2013 10:44 PM by huchangchun

    RHQ Plugin Validator, document out of date

    huchangchun

      Dear RHQ Team,

      We customized RHQ Agent Plugin, JBossAS5, and tried to validate it following the guide on https://docs.jboss.org/author/display/RHQ/Plugins+-+Plugin+Validator. We found the guide was totally out of date and could not work.

       

      Even though, we are able to validate our plugin by running the class org.rhq.core.pc.plugin.PluginValidator now. We think there is some better way to validate plugin. Could you update the document and introduce some way?

       

      Many thanks.

        • 1. Re: RHQ Plugin Validator, document out of date
          pilhuhn

          Hey,

          interesting find - I did not even know that page existed

           

          For the moment you could have a look at the "How to write plugins" document on how to validate plugins.

           

          We need to revisit that wiki page and find out why exactly the mvn plugin is failing (it fails because it refers to an old version that is

          not pushed to central. We need to find the root cause (why it is not pushed).

           

          Thanks

            Heiko

          • 2. Re: RHQ Plugin Validator, document out of date
            huchangchun

            Hello Heiko,

            I cannot access the link as it reports "Page not found". Could you check it and provide an available link again? Many thanks.

            I did acess the link before last Friday, it worked well then. I planed to verify the solution today. However, the link doesn't work well now.

            Many thanks for your help in advance.

            Best regards.

            • 3. Re: RHQ Plugin Validator, document out of date
              huchangchun

              Hello Heiko,

              I find the "plugin-validator.sh" script under "modules\enterprise\agent\src\etc\plugin-validator.sh".

              It is a good tool to validate agent plugin before we deploy it.

              We really appreciate if you add the validation script for windows. Besides, the path "lib/*.jar" might be "../lib/*.jar".

              Thanks.

              • 4. Re: RHQ Plugin Validator, document out of date
                pilhuhn

                Changchun,

                my bad - I moved the document from Markdown to Asciidoc markup, renamed it and split it into smaller chunks.

                The part about plugin validation is now at https://github.com/pilhuhn/misc_writing/blob/master/HowToWriteAnRhqPlugin/tools.adoc#plugin-verification

                 

                My intent it to enhance the document more and the new markup and stucture allows me to handle it more easily.

                 

                Sorry for the confusion

                • 5. Re: RHQ Plugin Validator, document out of date
                  pilhuhn

                  Can you create a version for windows and send it to mee please < hrupp @ redhat . com >, so I can check it in then?

                   

                  THanks

                  • 6. Re: RHQ Plugin Validator, document out of date
                    huchangchun

                    Hi Heiko,

                    I tried to send the "plugin-validator.bat" by email. However, the executable file cannot be sent by email as security issue.

                    You can create a "plugin-validator.bat" file and append the below content, which is much simple than linux version.

                    java -cp ..\lib\* org.rhq.core.pc.plugin.PluginValidator -i %*

                     

                    About the validator for both Linux and Windows, it can only validate the agent plugin which doesn't depend on other plugins. For example, it can validate the jmx plugin. It cannot validate the agent plugin which depends on other plugins, such as JBossAs5 plugin which depends on jmx plugin. I tried to solve it by running command "sh plugin-validator.sh %JMX_Plugin_Path% %JBOSSAS5_Plugin_Path%",  exception as below is throwed. Could you check this problem? Let me know if you need details to reproduce the problem. Many thanks.

                     

                    Exception in thread "main" java.lang.NoClassDefFoundError: org/jboss/deployers/s

                    pi/management/deploy/ProgressListener

                            at java.lang.ClassLoader.defineClass1(Native Method)

                            at java.lang.ClassLoader.defineClass(Unknown Source)

                            at java.security.SecureClassLoader.defineClass(Unknown Source)

                            at java.net.URLClassLoader.defineClass(Unknown Source)

                            at java.net.URLClassLoader.access$100(Unknown Source)

                            at java.net.URLClassLoader$1.run(Unknown Source)

                            at java.net.URLClassLoader$1.run(Unknown Source)

                            at java.security.AccessController.doPrivileged(Native Method)

                            at java.net.URLClassLoader.findClass(Unknown Source)

                            at java.lang.ClassLoader.loadClass(Unknown Source)

                            at org.rhq.core.pc.plugin.PluginClassLoader.loadClass(PluginClassLoader.

                    java:63)

                            at java.lang.ClassLoader.loadClass(Unknown Source)

                            at java.lang.ClassLoader.defineClass1(Native Method)

                            at java.lang.ClassLoader.defineClass(Unknown Source)

                            at java.security.SecureClassLoader.defineClass(Unknown Source)

                            at java.net.URLClassLoader.defineClass(Unknown Source)

                            at java.net.URLClassLoader.access$100(Unknown Source)

                            at java.net.URLClassLoader$1.run(Unknown Source)

                            at java.net.URLClassLoader$1.run(Unknown Source)

                            at java.security.AccessController.doPrivileged(Native Method)

                            at java.net.URLClassLoader.findClass(Unknown Source)

                            at java.lang.ClassLoader.loadClass(Unknown Source)

                            at org.rhq.core.pc.plugin.PluginClassLoader.loadClass(PluginClassLoader.

                    java:63)

                            at java.lang.ClassLoader.loadClass(Unknown Source)

                            at java.lang.Class.forName0(Native Method)

                            at java.lang.Class.forName(Unknown Source)

                            at org.rhq.core.pc.plugin.PluginValidator.validateResourceComponentClass

                    (PluginValidator.java:163)

                    • 7. Re: RHQ Plugin Validator, document out of date
                      mazz

                      > I tried to send the "plugin-validator.bat" by email. However, the executable file cannot be sent by email as security issue.

                       

                      Just compress it (with tar, jar, zip, or whatever) and send it - should pass the email filter if its encased in a .jar or .tar or .zip file.

                      • 8. Re: RHQ Plugin Validator, document out of date
                        huchangchun

                        Hello mazz,

                        Compressing it doesn't work either. I compressed the bat file into "1.zip" file and then gamil reports error message "1.zip contains an executable file. For security reasons, Gmail does not allow you to send this type of file."