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<org.springframework.messaging.Message<?>>,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanFactoryAware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.DisposableBean,org.springframework.beans.factory.InitializingBean,org.springframework.context.ApplicationContextAware,org.springframework.core.Ordered,org.springframework.integration.context.ExpressionCapable,org.springframework.integration.context.Orderable,org.springframework.integration.IntegrationPattern,org.springframework.integration.support.context.NamedComponent,org.springframework.integration.support.management.IntegrationManagement,org.springframework.integration.support.management.TrackableComponent,org.springframework.messaging.MessageHandler,reactor.core.CoreSubscriber<org.springframework.messaging.Message<?>>
public class NotificationPublishingMessageHandler
extends org.springframework.integration.handler.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
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classNotificationPublishingMessageHandler.PublisherDelegateSimple class used for the actual MBean instances to be registered. -
Field Summary
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, logger -
Constructor Summary
Constructors Constructor Description NotificationPublishingMessageHandler(java.lang.String objectName)NotificationPublishingMessageHandler(javax.management.ObjectName objectName) -
Method Summary
Modifier and Type Method Description java.lang.StringgetComponentType()protected voidhandleMessageInternal(org.springframework.messaging.Message<?> message)voidonInit()voidsetDefaultNotificationType(java.lang.String defaultNotificationType)Specify a dot-delimited String representing the Notification type to use by default when no explicit Notification mapper has been configured.voidsetNotificationMapper(org.springframework.integration.mapping.OutboundMessageMapper<javax.management.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, wait
-
Constructor Details
-
NotificationPublishingMessageHandler
public NotificationPublishingMessageHandler(javax.management.ObjectName objectName) -
NotificationPublishingMessageHandler
public NotificationPublishingMessageHandler(java.lang.String objectName)
-
-
Method Details
-
setNotificationMapper
public void setNotificationMapper(@Nullable org.springframework.integration.mapping.OutboundMessageMapper<javax.management.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
public void setDefaultNotificationType(java.lang.String defaultNotificationType)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
public java.lang.String getComponentType()- Specified by:
getComponentTypein interfaceorg.springframework.integration.support.context.NamedComponent- Overrides:
getComponentTypein classorg.springframework.integration.handler.MessageHandlerSupport
-
onInit
public final void onInit()- Overrides:
onInitin classorg.springframework.integration.context.IntegrationObjectSupport
-
handleMessageInternal
protected void handleMessageInternal(org.springframework.messaging.Message<?> message)- Specified by:
handleMessageInternalin classorg.springframework.integration.handler.AbstractMessageHandler
-