Spring Integration

org.springframework.integration.jmx
Class NotificationListeningMessageProducer

java.lang.Object
  extended by org.springframework.integration.context.IntegrationObjectSupport
      extended by org.springframework.integration.endpoint.AbstractEndpoint
          extended by org.springframework.integration.endpoint.MessageProducerSupport
              extended by org.springframework.integration.jmx.NotificationListeningMessageProducer
All Implemented Interfaces:
java.util.EventListener, javax.management.NotificationListener, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.context.Lifecycle, org.springframework.context.Phased, org.springframework.context.SmartLifecycle, NamedComponent, MessageProducer, TrackableComponent

public class NotificationListeningMessageProducer
extends MessageProducerSupport
implements javax.management.NotificationListener

A JMX NotificationListener implementation that will send Messages containing the JMX Notification instances as their payloads.

Since:
2.0
Author:
Mark Fisher

Constructor Summary
NotificationListeningMessageProducer()
           
 
Method Summary
protected  void doStart()
          Registers the notification listener with the specified ObjectNames.
protected  void doStop()
          Unregisters the notification listener.
 java.lang.String getComponentType()
          Subclasses may implement this method to provide component type information.
 void handleNotification(javax.management.Notification notification, java.lang.Object handback)
          Notification handling method implementation.
 void setFilter(javax.management.NotificationFilter filter)
          Specify a NotificationFilter to be passed to the server when registering this listener.
 void setHandback(java.lang.Object handback)
          Specify a handback object to provide context to the listener upon notification.
 void setObjectName(javax.management.ObjectName objectName)
          Specify the JMX ObjectName of the notification publisher to which this notification listener should be subscribed.
 void setServer(javax.management.MBeanServer server)
          Provide a reference to the MBeanServer where the notification publishing MBeans are registered.
 
Methods inherited from class org.springframework.integration.endpoint.MessageProducerSupport
onInit, sendMessage, setErrorChannel, setOutputChannel, setSendTimeout, setShouldTrack
 
Methods inherited from class org.springframework.integration.endpoint.AbstractEndpoint
getPhase, isAutoStartup, isRunning, setAutoStartup, setPhase, setTaskScheduler, start, stop, stop
 
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, getBeanFactory, getComponentName, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setComponentName, setConversionService, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.springframework.integration.context.NamedComponent
getComponentName
 

Constructor Detail

NotificationListeningMessageProducer

public NotificationListeningMessageProducer()
Method Detail

setServer

public void setServer(javax.management.MBeanServer server)
Provide a reference to the MBeanServer where the notification publishing MBeans are registered.


setObjectName

public void setObjectName(javax.management.ObjectName objectName)
Specify the JMX ObjectName of the notification publisher to which this notification listener should be subscribed.


setFilter

public void setFilter(javax.management.NotificationFilter filter)
Specify a NotificationFilter to be passed to the server when registering this listener. The filter may be null.


setHandback

public void setHandback(java.lang.Object handback)
Specify a handback object to provide context to the listener upon notification. This object may be null.


handleNotification

public void handleNotification(javax.management.Notification notification,
                               java.lang.Object handback)
Notification handling method implementation. Creates a Message with the JMX Notification as its payload, and if the handback object is not null, it sets that as a Message header value. The Message is then sent to this producer's output channel.

Specified by:
handleNotification in interface javax.management.NotificationListener

getComponentType

public java.lang.String getComponentType()
Description copied from class: IntegrationObjectSupport
Subclasses may implement this method to provide component type information.

Specified by:
getComponentType in interface NamedComponent
Overrides:
getComponentType in class IntegrationObjectSupport

doStart

protected void doStart()
Registers the notification listener with the specified ObjectNames.

Overrides:
doStart in class MessageProducerSupport

doStop

protected void doStop()
Unregisters the notification listener.

Overrides:
doStop in class MessageProducerSupport

Spring Integration