Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jetty-users] 答复: How to enable jmx in jetty runner?

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.




Back to the top