Hi, all:
I am trying to use jmx in jetty-runner but seems jetty-jmx classes are not included in jetty-runner.jar.
Then I put jetty-jmx.jar in to a lib folder and use --lib option to start it. Also I use the jetty-jmx.xml and jetty-jmx-remote.xml from jetty distribution.
but below exception, the exception shows that ObjectMBean cannot be found by MBeanContainer, but ObjectMBean has been provided in jetty-jmx.jar, is there any classloader problem that this class cannot be found?
2017-06-26 09:24:49.160:WARN:oejj.ObjectMBean:main:
java.lang.NoClassDefFoundError: org/eclipse/jetty/jmx/ObjectMBean
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:803)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.eclipse.jetty.util.Loader.loadClass(Loader.java:86)
at org.eclipse.jetty.jmx.ObjectMBean.mbeanFor(ObjectMBean.java:133)
at org.eclipse.jetty.jmx.MBeanContainer.beanAdded(MBeanContainer.java:154)
at org.eclipse.jetty.util.component.ContainerLifeCycle.addEventListener(ContainerLifeCycle.java:367)
Finally I am able to launch jmx using below JVM parameters in jetty-runner.
-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=10.175.180.171 -Dcom.sun.management.jmxremote.port=1099
But there seems no means to set username/password for jmx in this way.
How can I set username/password for jmx in jetty-runner environment? Also the hyperlink "see Authentication and Authorization in JMX RMI connectors." in jetty jmx document is invalid. Please help to have a check.