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 class
NotificationPublishingMessageHandler.PublisherDelegate
Simple 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.String
getComponentType()
protected void
handleMessageInternal(org.springframework.messaging.Message<?> message)
void
onInit()
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.void
setNotificationMapper(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, onSubscribe
Methods inherited from class org.springframework.integration.handler.MessageHandlerSupport
buildSendTimer, destroy, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getOrder, getOverrides, isLoggingEnabled, registerMetricsCaptor, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrack
Methods 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, toString
Methods 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:
getComponentType
in interfaceorg.springframework.integration.support.context.NamedComponent
- Overrides:
getComponentType
in classorg.springframework.integration.handler.MessageHandlerSupport
-
onInit
public final void onInit()- Overrides:
onInit
in classorg.springframework.integration.context.IntegrationObjectSupport
-
handleMessageInternal
protected void handleMessageInternal(org.springframework.messaging.Message<?> message)- Specified by:
handleMessageInternal
in classorg.springframework.integration.handler.AbstractMessageHandler
-