Basic configuration

Basis JMX connector configuration can be done through properties in the conf/servicemix.properties file:

property

default

description

rmi.port

1099

Configures the port used for connecting to the JMX MBeans over RMI

rmi.host

localhost

Configures the hostname used for binding the RMI connection

jmx.url

service:jmx:rmi:///jndi/rmi://${rmi.host}:${rmi.port}/jmxrmi

Default connection URI (using the rmi.port and rmi.host properties)

Advanced configuration

The main JMX configuration file can be found in the conf/jmx.xml file under the ServiceMix installation directory. This allows you to configure the JMX connector even further

jmxConnector element

Configures the JMX RMI connector. This is the default configuration

  <sm:jmxConnector objectName="connector:name=rmi"
                   serviceUrl="${jmx.url}"
                   threaded="true"
                   daemon="true" 
                   depends-on="rmiRegistry, jndi"
                   environment="#jmxConnectorEnvironment"/>

Configuration examples

Adding authorization to the JMX connection

By default, the JMX connection will authenticate users using JAAS and all authenticated users are allowed to perform all operations over JMX. You can fine-tune that behavior by configuring your own policy on the jmxConnector.

ServiceMix itself provides one policy (adminReadWritePolicy) which only allows read-write access to users in the 'admin' group, but all others users can still use JMX to query the JMX MBeans for information. The snippet below shows the necessary changes to the configuration file to enable this policy.

  <sm:jmxConnector ...
                   policy="#policy"/>
                   
  <sm:adminReadWritePolicy id="policy"/>
  • No labels