Class ExternalChangelogDomain

    • Constructor Detail

      • ExternalChangelogDomain

        public ExternalChangelogDomain​(LDAPReplicationDomain domain,
                                       ExternalChangelogDomainCfg configuration)
        Constructor from a provided LDAPReplicationDomain.
        Parameters:
        domain - The provided domain.
        configuration - The external changelog configuration.
    • Method Detail

      • isConfigurationAddAcceptable

        public boolean isConfigurationAddAcceptable​(ExternalChangelogDomainCfg configuration,
                                                    List<org.forgerock.i18n.LocalizableMessage> unacceptableReasons)
        Indicates whether the proposed addition of a new configuration is acceptable to this add listener.
        Specified by:
        isConfigurationAddAcceptable in interface ConfigurationAddListener<ExternalChangelogDomainCfg>
        Parameters:
        configuration - The configuration that will be added.
        unacceptableReasons - A list that can be used to hold messages about why the provided configuration is not acceptable.
        Returns:
        Returns true if the proposed addition is acceptable, or false if it is not.
      • isConfigurationChangeAcceptable

        public boolean isConfigurationChangeAcceptable​(ExternalChangelogDomainCfg configuration,
                                                       List<org.forgerock.i18n.LocalizableMessage> unacceptableReasons)
        Indicates whether the proposed change to the configuration is acceptable to this change listener.

        Refused while a total update runs, as a change of the domain entry is: the attributes this entry carries are published as the session of the domain comes up, so applying them restarts that session, and an import into this replica reads its entries over it. Through the server configuration such a restart would wait for the listener thread the import runs on, which waits in turn for the lock of the configuration the change holds, to enable the backend back once the stream it was reading ends.

        Specified by:
        isConfigurationChangeAcceptable in interface ConfigurationChangeListener<ExternalChangelogDomainCfg>
        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 true if the proposed change is acceptable, or false if it is not.
      • isConfigurationDeleteAcceptable

        public boolean isConfigurationDeleteAcceptable​(ExternalChangelogDomainCfg configuration,
                                                       List<org.forgerock.i18n.LocalizableMessage> unacceptableReasons)
        Indicates whether the proposed deletion of an existing configuration is acceptable to this delete listener.
        Specified by:
        isConfigurationDeleteAcceptable in interface ConfigurationDeleteListener<ExternalChangelogDomainCfg>
        Parameters:
        configuration - The configuration that will be deleted.
        unacceptableReasons - A list that can be used to hold messages about why the provided configuration is not acceptable.
        Returns:
        Returns true if the proposed deletion is acceptable, or false if it is not.