Class OperationInvokingMessageHandler

All Implemented Interfaces:
org.reactivestreams.Subscriber<Message<?>>, Aware, BeanClassLoaderAware, BeanFactoryAware, BeanNameAware, DisposableBean, InitializingBean, ApplicationContextAware, Ordered, ExpressionCapable, Orderable, MessageProducer, HeaderPropagationAware, IntegrationPattern, NamedComponent, IntegrationManagement, TrackableComponent, MessageHandler, reactor.core.CoreSubscriber<Message<?>>

public class OperationInvokingMessageHandler
extends AbstractReplyProducingMessageHandler
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
Author:
Mark Fisher, Oleg Zhurakousky, Gary Russell, Artem Bilan