JMX configuration for CXF services - 7.3

Talend ESB System Management Integration User Guide

Version
7.3
Language
English
Product
Talend Data Fabric
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Talend ESB
Talend Runtime
Content
Administration and Monitoring
Installation and Upgrade
Last publication date
2024-02-07

Each server type defines several service types such as EJBs, Connection Pools, JMS Queues, and so on. The plugin defines additional service types to provide management of CXF via custom MBeans. The service element defines a service type, for example:

Plugin object section:

<service name="CXF all services monitoring">
    <property name="OBJECT_NAME"
		value='org.apache.cxf:bus.id=*,type=Performance.Counter.Server,service=*,
		port=*,operation=*'/>
    <metrics include="cxf"/>
    <plugin type="autoinventory" />
</service>

In order to access custom MBeans, the plugin must define its JMX ObjectName to be used with various MBeanServer interface methods. Only one ObjectName is defined per service type using the property tag within the service tag.

To configure specific definitions for the CXF service object use properties:

Property Name Description
org.apache.cxf:bus.id id of specific CXF bus
service service endpoint name
port service port name
operation service operation name

To enable JMX integration for CXF you need to declare the following bean in service Spring configuration:

<bean id="org.apache.cxf.management.InstrumentationManager"
		class="org.apache.cxf.management.jmx.InstrumentationManagerImpl">
		<property name="bus" ref="cxf" />
		<property name="usePlatformMBeanServer" value="true" />
		<property name="createMBServerConnectorFactory" value="false" />
		<property name="enabled" value="true" />
</bean>

To avoid any unnecessary runtime overhead, the performance counters measuring response time are disabled by default. To collect statistics for running sevices define the following bean:

<bean id="CounterRepository" 
            class="org.apache.cxf.management.counters.CounterRepository">
        <property name="bus" ref="cxf" />
</bean>			

For further information about configuring JMX in CXF you can find at Apache CXF.