Class MonitorProvider<T extends MonitorProviderCfg>

    • Constructor Detail

      • MonitorProvider

        public MonitorProvider()
    • Method Detail

      • initializeMonitorProvider

        public void initializeMonitorProvider​(T configuration)
                                       throws ConfigException,
                                              InitializationException
        Initializes this monitor provider based on the information in the provided configuration entry.
        Parameters:
        configuration - The configuration to use to initialize this monitor provider.
        Throws:
        ConfigException - If an unrecoverable problem arises in the process of performing the initialization.
        InitializationException - If a problem occurs during initialization that is not related to the server configuration.
      • isConfigurationAcceptable

        public boolean isConfigurationAcceptable​(MonitorProviderCfg configuration,
                                                 List<org.forgerock.i18n.LocalizableMessage> unacceptableReasons)
        Indicates whether the provided configuration is acceptable for this monitor provider. It should be possible to call this method on an uninitialized monitor provider instance in order to determine whether the monitor provider would be able to use the provided configuration.

        Note that implementations which use a subclass of the provided configuration class will likely need to cast the configuration to the appropriate subclass type.
        Parameters:
        configuration - The monitor provider configuration for which to make the determination.
        unacceptableReasons - A list that may be used to hold the reasons that the provided configuration is not acceptable.
        Returns:
        true if the provided configuration is acceptable for this monitor provider, or false if not.
      • finalizeMonitorProvider

        public void finalizeMonitorProvider()
        Finalizes this monitor provider so that it may be unloaded and taken out of service. This method should be overridden by any monitor provider that has resources that should be released when the monitor is no longer needed. Any monitor that does override this method must first invoke this version by calling super.finalizeMonitorProvider.
      • getMonitorInstanceName

        public abstract String getMonitorInstanceName()
        Retrieves the name of this monitor provider. It should be unique among all monitor providers, including all instances of the same monitor provider.
        Returns:
        The name of this monitor provider.
      • getMonitorObjectClass

        public ObjectClass getMonitorObjectClass()
        Retrieves the objectclass that should be included in the monitor entry created from this monitor provider. This may be overridden by subclasses that wish to include their own custom objectclass in the monitor entry (e.g., to make it easier to search for monitor entries of that type). The default implementation returns the "extensibleObject" objectclass.
        Returns:
        The objectclass that should be included in the monitor entry created from this monitor provider.
      • scheduleUpdate

        protected final void scheduleUpdate​(Runnable updater,
                                            long initialDelay,
                                            long period,
                                            TimeUnit unit)
        Schedules any periodic processing that may be desired to update the information associated with this monitor. Note that best-effort attempts will be made to ensure that calls to this method come getUpdateInterval milliseconds apart, but no guarantees will be made.
        Parameters:
        updater - The updater to execute.
        initialDelay - The time to delay first execution.
        period - The period between successive executions.
        unit - The time unit of the initialDelay and period parameters.
      • getMonitorData

        public abstract MonitorData getMonitorData()
        Retrieves a set of attributes containing monitor data that should be returned to the client if the corresponding monitor entry is requested.
        Returns:
        A set of attributes containing monitor data that should be returned to the client if the corresponding monitor entry is requested.