Class NotificationPublishingMessageHandler
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.jmx.NotificationPublishingMessageHandler
- All Implemented Interfaces:
org.reactivestreams.Subscriber<Message<?>>,Aware,BeanFactoryAware,BeanNameAware,DisposableBean,InitializingBean,ApplicationContextAware,Ordered,ExpressionCapable,Orderable,IntegrationPattern,NamedComponent,IntegrationManagement,TrackableComponent,MessageHandler,reactor.core.CoreSubscriber<Message<?>>
public class NotificationPublishingMessageHandler extends AbstractMessageHandler
An
AbstractMessageHandler implementation to publish an incoming message
as a JMX Notification.
The OutboundMessageMapper is used to convert a Message to the Notification.- Since:
- 2.0
- Author:
- Mark Fisher, Oleg Zhurakousky, Gary Russell, Artem Bilan
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classNotificationPublishingMessageHandler.PublisherDelegateSimple class used for the actual MBean instances to be registered.Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
IntegrationManagement.ManagementOverrides -
Field Summary
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors Constructor Description NotificationPublishingMessageHandler(String objectName)NotificationPublishingMessageHandler(ObjectName objectName) -
Method Summary
Modifier and Type Method Description StringgetComponentType()Subclasses may implement this method to provide component type information.protected voidhandleMessageInternal(Message<?> message)voidonInit()Subclasses may implement this for initialization logic.voidsetDefaultNotificationType(String defaultNotificationType)Specify a dot-delimited String representing the Notification type to use by default when no explicit Notification mapper has been configured.voidsetNotificationMapper(OutboundMessageMapper<Notification> notificationMapper)Set a mapper for creating Notifications from a Message.Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler
handleMessage, onComplete, onError, onNext, onSubscribeMethods inherited from class org.springframework.integration.handler.MessageHandlerSupport
buildSendTimer, destroy, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getOrder, getOverrides, isLoggingEnabled, registerMetricsCaptor, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackMethods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAsMethods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Constructor Details
-
Method Details
-
setNotificationMapper
public void setNotificationMapper(@Nullable OutboundMessageMapper<Notification> notificationMapper)Set a mapper for creating Notifications from a Message. If not provided, a default implementation will be used such that String-typed payloads will be passed as the 'message' of the Notification and all other payload types will be passed as the 'userData' of the Notification.- Parameters:
notificationMapper- The notification mapper.
-
setDefaultNotificationType
Specify a dot-delimited String representing the Notification type to use by default when no explicit Notification mapper has been configured. If not provided, then a notification type header will be required for each message being mapped into a Notification.- Parameters:
defaultNotificationType- The default notification type.
-
getComponentType
Description copied from class:IntegrationObjectSupportSubclasses may implement this method to provide component type information.- Specified by:
getComponentTypein interfaceNamedComponent- Overrides:
getComponentTypein classMessageHandlerSupport
-
onInit
public final void onInit()Description copied from class:IntegrationObjectSupportSubclasses may implement this for initialization logic.- Overrides:
onInitin classIntegrationObjectSupport
-
handleMessageInternal
- Specified by:
handleMessageInternalin classAbstractMessageHandler
-