A MessageHandler implementation for invoking JMX operations based on
the Message sent to its AbstractMessageHandler.handleMessage(Message) method. Message headers
will be checked first when resolving the 'objectName' and 'operationName' to be
invoked on an MBean. These values would be supplied with the Message headers
defined as JmxHeaders.OBJECT_NAME and JmxHeaders.OPERATION_NAME,
respectively. In either case, if no header is present, the value resolution
will fallback to the defaults, if any have been configured on this instance via
setObjectName(String) and setOperationName(String),
respectively.
The operation parameter(s), if any, must be available within the payload of the
Message being handled. If the target operation expects multiple parameters, they
can be provided in either a List or Map typed payload.
Since:
2.0
Field Summary
Fields inherited from class org.springframework.integration.handler.AbstractMessageHandler
handleRequestMessage(Message<?> requestMessage)
Subclasses must implement this method to handle the request Message.
void
onInit()
Subclasses may implement this for initialization logic.
void
setObjectName(java.lang.String objectName)
Specify a default ObjectName to use when no such header is
available on the Message being handled.
void
setOperationName(java.lang.String operationName)
Specify an operation name to be invoked when no such
header is available on the Message being handled.
void
setServer(javax.management.MBeanServer server)
Provide a reference to the MBeanServer within which the MBean
target for operation invocation has been registered.
Subclasses must implement this method to handle the request Message. The return
value may be a Message, a MessageBuilder, or any plain Object. The base class
will handle the final creation of a reply Message from any of those starting
points. If the return value is null, the Message flow will end here.