JMX

JMX

Scheme: jmx
Syntax: jmx:serverURL
Description: The jmx component allows to receive JMX notifications.
Deprecated:false
ConsumerOnly:true
Async:false
Maven: org.apache.camel/camel-jmx/2.18.1.redhat-000034

The jmx component allows to receive JMX notifications. Endpoint that describes a connection to an mbean.

The component can connect to the local platform mbean server with the following URI:

jmx://platform?options

A remote mbean server url can be provided following the initial JMX scheme like so:

jmx:service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi?options

You can append query options to the URI in the following format, ?options=value&option2=value&...

Name Kind Group Required Default Type Enum Description
serverURL path consumer java.lang.String server url comes from the remaining endpoint
bridgeErrorHandler parameter consumer boolean Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN/ERROR level and ignored.
format parameter consumer xml java.lang.String xml
raw
URI Property: Format for the message body. Either "xml" or "raw". If xml, the notification is serialized to xml. If raw, then the raw java object is set as the body.
granularityPeriod parameter consumer 10000 long URI Property: [monitor types only] The frequency to poll the bean to check the monitor.
monitorType parameter consumer java.lang.String counter
gauge
string
URI Property: [monitor types only] The type of monitor to create. One of string, gauge, counter.
objectDomain parameter consumer true java.lang.String URI Property: The domain for the mbean you're connecting to
objectName parameter consumer java.lang.String URI Property: The name key for the mbean you're connecting to. This value is mutually exclusive with the object properties that get passed.
observedAttribute parameter consumer java.lang.String URI Property: [monitor types only] The attribute to observe for the monitor bean.
exceptionHandler parameter consumer (advanced) org.apache.camel.spi.ExceptionHandler To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions, that will be logged at WARN/ERROR level and ignored.
exchangePattern parameter consumer (advanced) org.apache.camel.ExchangePattern InOnly
RobustInOnly
InOut
InOptionalOut
OutOnly
RobustOutOnly
OutIn
OutOptionalIn
Sets the exchange pattern when the consumer creates an exchange.
handback parameter advanced java.lang.Object URI Property: Value to handback to the listener when a notification is received. This value will be put in the message header with the key "jmx.handback"
notificationFilter parameter advanced javax.management.NotificationFilter URI Property: Reference to a bean that implements the NotificationFilter.
objectProperties parameter advanced java.util.Map URI Property: properties for the object name. These values will be used if the objectName param is not set
reconnectDelay parameter advanced 10 int URI Property: The number of seconds to wait before attempting to retry establishment of the initial connection or attempt to reconnect a lost connection
reconnectOnConnectionFailure parameter advanced boolean URI Property: If true the consumer will attempt to reconnect to the JMX server when any connection failure occurs. The consumer will attempt to re-establish the JMX connection every 'x' seconds until the connection is made-- where 'x' is the configured reconnectionDelay
synchronous parameter advanced false boolean Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).
testConnectionOnStartup parameter advanced true boolean URI Property: If true the consumer will throw an exception if unable to establish the JMX connection upon startup. If false, the consumer will attempt to establish the JMX connection every 'x' seconds until the connection is made -- where 'x' is the configured reconnectionDelay
initThreshold parameter counter int URI Property: [counter monitor only] Initial threshold for the monitor. The value must exceed this before notifications are fired.
modulus parameter counter int URI Property: [counter monitor only] The value at which the counter is reset to zero
offset parameter counter int URI Property: [counter monitor only] The amount to increment the threshold after it's been exceeded.
differenceMode parameter gauge boolean URI Property: [counter + gauge monitor only] If true, then the value reported in the notification is the difference from the threshold as opposed to the value itself.
notifyHigh parameter gauge boolean URI Property: [gauge monitor only] If true, the gauge will fire a notification when the high threshold is exceeded
notifyLow parameter gauge boolean URI Property: [gauge monitor only] If true, the gauge will fire a notification when the low threshold is exceeded
thresholdHigh parameter gauge java.lang.Double URI Property: [gauge monitor only] Value for the gauge's high threshold
thresholdLow parameter gauge java.lang.Double URI Property: [gauge monitor only] Value for the gauge's low threshold
password parameter security java.lang.String URI Property: credentials for making a remote connection
user parameter security java.lang.String URI Property: credentials for making a remote connection
notifyDiffer parameter string boolean URI Property: [string monitor only] If true, the string monitor will fire a notification when the string attribute differs from the string to compare.
notifyMatch parameter string boolean URI Property: [string monitor only] If true, the string monitor will fire a notification when the string attribute matches the string to compare.
stringToCompare parameter string java.lang.String URI Property: [string monitor only] Value for the string monitor's string to compare.

jmx consumer

Consumer will add itself as a NotificationListener on the object specified by the objectName param.