When enabling Jetty JMX support by including the Jetty Management classes in the classpath, CXF creates an MBeanContainer for each Jetty Server it manages. However, Jetty dynamically creates MBean names for Jetty managed components. Each MBeanContainer is designed to deal with maintaining unique names, but two instances of MBeanContainer in the same JVM using the same MBeanServer will create duplicate names.
This improvement moves the responsibility for maintaining the MBeanContainer to the JettyHttpServerEngineFactory such that all JettyHttpServerEngine instance can reference the same MBeanContainer instance. This change removes all duplicate name warnings except for one. The remaining duplicate name message is related to Jetty internal logging mechanisms and is outside of the control of CXF using the current loosely coupled (reflection) approach to working with the MBeanContainer.