Мы столкнулись с той же проблемой коллизии JMX ObjectName с CXF и EhCache.
Решение, которое мы нашли, заключается в добавлении контекстного пути веб-приложения к каждому ObjectName, зарегистрированному в MBeanServer. Это напрямую связано с интегрированными серверами MBeansServer для большого кластеризуемого сервера JavaEE (Websphere и т. Д.).
Благодаря этому имя объекта шины cxf:
"org.apache.cxf:type=Bus,host=localhost,path=/my-application,bus.id=my-application-cxf-bus"
Мы упаковали этот * сервер сервлетов с поддержкой контекста сервлетов в библиотеку с пространством имен пружин, чтобы упростить настройку:
<beans
xmlns:management="http://www.xebia.fr/schema/xebia-management-extras"
... >
<management:servlet-context-aware-mbean-server id="mbeanServer" />
<bean id="cxf" class="org.apache.cxf.bus.CXFBusImpl">
<property name="id" value="production-ready-application-cxf-bus" />
</bean>
<bean id="org.apache.cxf.management.InstrumentationManager" class="org.apache.cxf.management.jmx.InstrumentationManagerImpl">
<property name="server" ref="mbeanServer" />
<property name="enabled" value="true" />
<property name="createMBServerConnectorFactory" value="false" />
</bean>
...
<beans>
Этот поставляется со многими другими дополнениями JMX для упрощения мониторинга общих компонентов (dbcp, util.concurrent, cxf, jms и т. Д.) И предлагается под лицензией Apache Software Friendly для бизнеса http://code.google.com/p/xebia-france/wiki/XebiaManagementExtras.
Надеюсь, это поможет,
Сирил (Ксебия)