Package org.opends.server.extensions
Class JMXAlertHandler
- java.lang.Object
-
- javax.management.NotificationBroadcasterSupport
-
- org.opends.server.extensions.JMXAlertHandler
-
- All Implemented Interfaces:
DynamicMBean,NotificationBroadcaster,NotificationEmitter,ConfigurationChangeListener<JmxAlertHandlerCfg>,AlertHandler<JmxAlertHandlerCfg>,DirectoryServerMBean
public class JMXAlertHandler extends NotificationBroadcasterSupport implements AlertHandler<JmxAlertHandlerCfg>, ConfigurationChangeListener<JmxAlertHandlerCfg>, DynamicMBean, DirectoryServerMBean
This class provides an implementation of a Directory Server alert handler that will send alerts using JMX notifications.
-
-
Constructor Summary
Constructors Constructor Description JMXAlertHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConfigChangeResultapplyConfigurationChange(JmxAlertHandlerCfg configuration)Applies the configuration changes to this change listener.voidfinalizeAlertHandler()Performs any necessary cleanup that may be necessary when this alert handler is finalized.AlertHandlerCfggetAlertHandlerConfiguration()Retrieves the current configuration for this alert handler.AttributegetAttribute(String attribute)AttributeListgetAttributes(String[] attributes)DngetConfigDn()MBeanInfogetMBeanInfo()MBeanNotificationInfo[]getNotificationInfo()Retrieves information about the types of JMX notifications that may be generated.ObjectNamegetObjectName()Retrieves the JMX object name for this JMX alert handler.voidinitializeAlertHandler(ServerContext serverContext, JmxAlertHandlerCfg configuration)Initializes this alert handler based on the information in the provided configuration entry.Objectinvoke(String actionName, Object[] params, String[] signature)booleanisConfigurationAcceptable(JmxAlertHandlerCfg configuration, List<LocalizableMessage> unacceptableReasons)Indicates whether the provided configuration is acceptable for this alert handler.booleanisConfigurationChangeAcceptable(JmxAlertHandlerCfg configuration, List<LocalizableMessage> unacceptableReasons)Indicates whether the proposed change to the configuration is acceptable to this change listener.voidsendAlertNotification(AlertGenerator generator, String alertType, LocalizableMessage alertMessage)Sends an alert notification based on the provided information.voidsetAttribute(Attribute attribute)AttributeListsetAttributes(AttributeList attributes)-
Methods inherited from class javax.management.NotificationBroadcasterSupport
addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
-
-
-
-
Method Detail
-
initializeAlertHandler
public void initializeAlertHandler(ServerContext serverContext, JmxAlertHandlerCfg configuration) throws InitializationException
Description copied from interface:AlertHandlerInitializes this alert handler based on the information in the provided configuration entry.- Specified by:
initializeAlertHandlerin interfaceAlertHandler<JmxAlertHandlerCfg>- Parameters:
serverContext- The server contextconfiguration- The configuration to use to initialize this alert handler.- Throws:
InitializationException- If a problem occurs during initialization that is not related to the server configuration.
-
getAlertHandlerConfiguration
public AlertHandlerCfg getAlertHandlerConfiguration()
Description copied from interface:AlertHandlerRetrieves the current configuration for this alert handler.- Specified by:
getAlertHandlerConfigurationin interfaceAlertHandler<JmxAlertHandlerCfg>- Returns:
- The current configuration for this alert handler.
-
finalizeAlertHandler
public void finalizeAlertHandler()
Description copied from interface:AlertHandlerPerforms any necessary cleanup that may be necessary when this alert handler is finalized.- Specified by:
finalizeAlertHandlerin interfaceAlertHandler<JmxAlertHandlerCfg>
-
getObjectName
public ObjectName getObjectName()
Retrieves the JMX object name for this JMX alert handler.- Specified by:
getObjectNamein interfaceDirectoryServerMBean- Returns:
- The JMX object name for this JMX alert handler.
-
sendAlertNotification
public void sendAlertNotification(AlertGenerator generator, String alertType, LocalizableMessage alertMessage)
Description copied from interface:AlertHandlerSends an alert notification based on the provided information.- Specified by:
sendAlertNotificationin interfaceAlertHandler<JmxAlertHandlerCfg>- Parameters:
generator- The alert generator that created the alert.alertType- The alert type name for this alert.alertMessage- A message (possiblynull) that can provide more information about this alert.
-
getNotificationInfo
public MBeanNotificationInfo[] getNotificationInfo()
Retrieves information about the types of JMX notifications that may be generated.- Specified by:
getNotificationInfoin interfaceNotificationBroadcaster- Overrides:
getNotificationInfoin classNotificationBroadcasterSupport- Returns:
- Information about the types of JMX notifications that may be generated.
-
getAttribute
public Attribute getAttribute(String attribute) throws AttributeNotFoundException
- Specified by:
getAttributein interfaceDynamicMBean- Throws:
AttributeNotFoundException
-
setAttribute
public void setAttribute(Attribute attribute) throws AttributeNotFoundException
- Specified by:
setAttributein interfaceDynamicMBean- Throws:
AttributeNotFoundException
-
getAttributes
public AttributeList getAttributes(String[] attributes)
- Specified by:
getAttributesin interfaceDynamicMBean
-
setAttributes
public AttributeList setAttributes(AttributeList attributes)
- Specified by:
setAttributesin interfaceDynamicMBean
-
invoke
public Object invoke(String actionName, Object[] params, String[] signature) throws MBeanException
- Specified by:
invokein interfaceDynamicMBean- Throws:
MBeanException
-
getConfigDn
public Dn getConfigDn()
-
getMBeanInfo
public MBeanInfo getMBeanInfo()
- Specified by:
getMBeanInfoin interfaceDynamicMBean
-
isConfigurationAcceptable
public boolean isConfigurationAcceptable(JmxAlertHandlerCfg configuration, List<LocalizableMessage> unacceptableReasons)
Description copied from interface:AlertHandlerIndicates whether the provided configuration is acceptable for this alert handler.- Specified by:
isConfigurationAcceptablein interfaceAlertHandler<JmxAlertHandlerCfg>- Parameters:
configuration- The configuration for which to make tje determination.unacceptableReasons- A list to which human-readable reasons may be added to explain why the configuration is not acceptable.- Returns:
trueif the provided configuration is acceptable, orfalseif it is not.
-
isConfigurationChangeAcceptable
public boolean isConfigurationChangeAcceptable(JmxAlertHandlerCfg configuration, List<LocalizableMessage> unacceptableReasons)
Description copied from interface:ConfigurationChangeListenerIndicates whether the proposed change to the configuration is acceptable to this change listener.- Specified by:
isConfigurationChangeAcceptablein interfaceConfigurationChangeListener<JmxAlertHandlerCfg>- Parameters:
configuration- The new configuration containing the changes.unacceptableReasons- A list that can be used to hold messages about why the provided configuration is not acceptable.- Returns:
- Returns
trueif the proposed change is acceptable, orfalseif it is not.
-
applyConfigurationChange
public ConfigChangeResult applyConfigurationChange(JmxAlertHandlerCfg configuration)
Description copied from interface:ConfigurationChangeListenerApplies the configuration changes to this change listener.- Specified by:
applyConfigurationChangein interfaceConfigurationChangeListener<JmxAlertHandlerCfg>- Parameters:
configuration- The new configuration containing the changes.- Returns:
- Returns information about the result of changing the configuration.
-
-