Interface ReplicationSynchronizationProviderCfg

  • All Superinterfaces:
    Configuration, SynchronizationProviderCfg

    public interface ReplicationSynchronizationProviderCfg
    extends SynchronizationProviderCfg
    A server-side interface for querying Replication Synchronization Provider settings.

    The Replication Synchronization Provider provides multi-master replication of data across multiple directory server instances.

    • Method Detail

      • addReplicationChangeListener

        void addReplicationChangeListener​(ConfigurationChangeListener<ReplicationSynchronizationProviderCfg> listener)
        Register to be notified when this Replication Synchronization Provider is changed.
        Parameters:
        listener - The Replication Synchronization Provider configuration change listener.
      • removeReplicationChangeListener

        void removeReplicationChangeListener​(ConfigurationChangeListener<ReplicationSynchronizationProviderCfg> listener)
        Deregister an existing Replication Synchronization Provider configuration change listener.
        Parameters:
        listener - The Replication Synchronization Provider configuration change listener.
      • getBootstrapReplicationServer

        SortedSet<com.forgerock.opendj.util.HostPort> getBootstrapReplicationServer()
        Gets the "bootstrap-replication-server" property.

        The addresses of one or more replication servers within the topology which this server should connect to in order to discover the rest of the topology.

        Addresses must be specified using the replication port of the remote replication servers using the syntax "hostname:repl-port". When using an IPv6 address as the hostname, put brackets around the address as in "[IPv6Address]:repl-port".

        Returns:
        Returns an unmodifiable set containing the values of the "bootstrap-replication-server" property.
      • getChangetimeHeartbeatInterval

        long getChangetimeHeartbeatInterval()
        Gets the "changetime-heartbeat-interval" property.

        Specifies the heartbeat interval that the directory server will use when sending its local change time to the Replication Server.

        The directory server sends a regular heartbeat to the Replication within the specified interval. The heartbeat indicates the change time of the directory server to the Replication Server.

        Default value: 1000ms

        Returns:
        Returns the value of the "changetime-heartbeat-interval" property.
      • getConnectionTimeout

        long getConnectionTimeout()
        Gets the "connection-timeout" property.

        Specifies the timeout used when connecting to peers and when performing SSL negotiation.

        Default value: 5 seconds

        Returns:
        Returns the value of the "connection-timeout" property.
      • isHealthChecksEnabled

        boolean isHealthChecksEnabled()
        Gets the "health-checks-enabled" property.

        Indicates whether the Replication Synchronization Providers health-checker is enabled.

        Default value: true

        Returns:
        Returns the value of the "health-checks-enabled" property.
      • getHeartbeatInterval

        long getHeartbeatInterval()
        Gets the "heartbeat-interval" property.

        Specifies the heartbeat interval that the directory server will use when communicating with Replication Servers.

        The directory server expects a regular heartbeat coming from the Replication Server within the specified interval. If a heartbeat is not received within the interval, the Directory Server closes its connection and connects to another Replication Server.

        Default value: 3 m

        Returns:
        Returns the value of the "heartbeat-interval" property.
      • getInitializationWindowSize

        int getInitializationWindowSize()
        Gets the "initialization-window-size" property.

        Specifies the window size that this directory server may use when communicating with remote Directory Servers for initialization.

        Default value: 100

        Returns:
        Returns the value of the "initialization-window-size" property.
      • getIsolationPolicy

        ReplicationSynchronizationProviderCfgDefn.IsolationPolicy getIsolationPolicy()
        Gets the "isolation-policy" property.

        Specifies the behavior of the directory server when writing to replicated data while none of the configured Replication Servers are available.

        Default value: reject-all-updates

        Returns:
        Returns the value of the "isolation-policy" property.
      • getJavaClass

        String getJavaClass()
        Gets the "java-class" property.

        Specifies the fully-qualified name of the Java class that provides the Replication Synchronization Provider implementation.

        Default value: org.opends.server.replication.plugin.MultimasterReplication

        Specified by:
        getJavaClass in interface SynchronizationProviderCfg
        Returns:
        Returns the value of the "java-class" property.
      • getKeyManagerProvider

        String getKeyManagerProvider()
        Gets the "key-manager-provider" property.

        Specifies the name of the key manager that should be used with this Replication Synchronization Provider.

        Default value is undefined

        Returns:
        Returns the value of the "key-manager-provider" property.
      • getKeyManagerProviderDn

        Dn getKeyManagerProviderDn()
        Gets the "key-manager-provider" property as a DN.

        Specifies the name of the key manager that should be used with this Replication Synchronization Provider.

        Returns:
        Returns the DN value of the "key-manager-provider" property.
      • isLogChangenumber

        boolean isLogChangenumber()
        Gets the "log-changenumber" property.

        Indicates if this server logs the ChangeNumber in access log.

        This boolean indicates if the domain should log the ChangeNumber of replicated operations in the access log.

        Default value: false

        Returns:
        Returns the value of the "log-changenumber" property.
      • getMaxReplicationDelayHealthCheck

        long getMaxReplicationDelayHealthCheck()
        Gets the "max-replication-delay-health-check" property.

        The maximum replication delay for considering the Replication Synchronization Provider healthy.

        Default value: 5s

        Returns:
        Returns the value of the "max-replication-delay-health-check" property.
      • getNumUpdateReplayThreads

        Integer getNumUpdateReplayThreads()
        Gets the "num-update-replay-threads" property.

        Specifies the number of update replay threads.

        This value is the number of threads created for replaying every updates received for all the replication domains.

        Returns:
        Returns the value of the "num-update-replay-threads" property.
      • getReferralsUrl

        SortedSet<String> getReferralsUrl()
        Gets the "referrals-url" property.

        The URLs other LDAP servers should use to refer to the local server.

        URLs used by peer servers in the topology to refer to the local server through LDAP referrals. If this attribute is not defined, every URLs available to access this server will be used. If defined, only URLs specified here will be used.

        Default value is undefined

        Returns:
        Returns an unmodifiable set containing the values of the "referrals-url" property.
      • getReplicationPurgeDelay

        long getReplicationPurgeDelay()
        Gets the "replication-purge-delay" property.

        Minimum lifetime of changelog data and old replication meta-data in directory entries. Changelog data and replication meta-data older than this setting is eligible to be removed.

        After the purge delay has passed, the server removes old changelog data over time when it applies new updates. Replication meta-data is stored in changed directory entries. The server removes old replication meta-data either when the entry is next modified, or by a dedicated purge task, whichever happens first. The server temporarily stops removing old data when it has been unable to process updates for an extended period of time. For example, the server stops removing data when the server is offline, and when it cannot access other servers due to a network partition. Once old data is removed, the server can no longer use it for replication. Changelog and replication meta-data older than the purge delay must therefore be considered stale. Backups must be newer than the purge delay, including the time it takes to restore a backup.

        Default value: 3 days

        Returns:
        Returns the value of the "replication-purge-delay" property.
      • isSolveConflicts

        boolean isSolveConflicts()
        Gets the "solve-conflicts" property.

        Indicates if this server solves conflict.

        This boolean indicates if this domain keeps the historical meta-data necessary to solve conflicts. When set to false the server will not maintain historical meta-data and will therefore not be able to solve conflict. This should therefore be done only if the replication is used in a single master type of deployment.

        Default value: true

        Returns:
        Returns the value of the "solve-conflicts" property.
      • getSourceAddress

        com.forgerock.opendj.util.Host getSourceAddress()
        Gets the "source-address" property.

        If specified, the server will bind to the address before connecting to the remote server.

        The address must be one assigned to an existing network interface.

        Returns:
        Returns the value of the "source-address" property.
      • getSslCertNickname

        SortedSet<String> getSslCertNickname()
        Gets the "ssl-cert-nickname" property.

        Specifies the nicknames (also called the aliases) of the keys or key pairs that the Replication Synchronization Provider should use when performing SSL communication.

        The property can be used multiple times (referencing different nicknames) when server certificates with different public key algorithms are used in parallel (for example, RSA, DSA, and ECC-based algorithms). When a nickname refers to an asymmetric (public/private) key pair, the nickname for the public key certificate and associated private key entry must match exactly. A single nickname is used to retrieve both the public key and the private key. This is only applicable when the Replication Synchronization Provider is configured to use SSL.

        Returns:
        Returns an unmodifiable set containing the values of the "ssl-cert-nickname" property.
      • getSslCipherSuite

        SortedSet<String> getSslCipherSuite()
        Gets the "ssl-cipher-suite" property.

        Specifies the names of the SSL cipher suites that are allowed for use in SSL or TLS communication.

        Returns:
        Returns an unmodifiable set containing the values of the "ssl-cipher-suite" property.
      • isSslEncryption

        boolean isSslEncryption()
        Gets the "ssl-encryption" property.

        Specifies whether SSL/TLS is used to provide encrypted communication between two OpenDJ server components.

        Default value: false

        Returns:
        Returns the value of the "ssl-encryption" property.
      • getSslProtocol

        SortedSet<String> getSslProtocol()
        Gets the "ssl-protocol" property.

        Specifies the names of the SSL protocols that are allowed for use in SSL or TLS communication.

        Returns:
        Returns an unmodifiable set containing the values of the "ssl-protocol" property.
      • getTrustManagerProvider

        SortedSet<String> getTrustManagerProvider()
        Gets the "trust-manager-provider" property.

        Specifies the name of the trust manager that should be used with the Replication Synchronization Provider .

        Default value is undefined

        Returns:
        Returns an unmodifiable set containing the values of the "trust-manager-provider" property.
      • getTrustManagerProviderDns

        SortedSet<Dn> getTrustManagerProviderDns()
        Gets the "trust-manager-provider" property as a set of DNs.

        Specifies the name of the trust manager that should be used with the Replication Synchronization Provider .

        Returns:
        Returns the DN values of the "trust-manager-provider" property.
      • listReplicationDomains

        String[] listReplicationDomains()
        Lists the Replication Domains.
        Returns:
        Returns an array containing the names of the Replication Domains.
      • getReplicationDomain

        ReplicationDomainCfg getReplicationDomain​(String name)
                                           throws ConfigException
        Gets the named Replication Domain.
        Parameters:
        name - The name of the Replication Domain to retrieve.
        Returns:
        Returns the named Replication Domain.
        Throws:
        ConfigException - If the Replication Domain could not be found or it could not be successfully decoded.
      • removeReplicationDomainAddListener

        void removeReplicationDomainAddListener​(ConfigurationAddListener<ReplicationDomainCfg> listener)
        Deregisters an existing Replication Domain configuration add listener.
        Parameters:
        listener - The Replication Domain configuration add listener.
      • addReplicationDomainDeleteListener

        void addReplicationDomainDeleteListener​(ConfigurationDeleteListener<ReplicationDomainCfg> listener)
                                         throws ConfigException
        Registers to be notified when existing Replication Domains are deleted.
        Parameters:
        listener - The Replication Domain configuration delete listener.
        Throws:
        ConfigException - If the delete listener could not be registered.
      • removeReplicationDomainDeleteListener

        void removeReplicationDomainDeleteListener​(ConfigurationDeleteListener<ReplicationDomainCfg> listener)
        Deregisters an existing Replication Domain configuration delete listener.
        Parameters:
        listener - The Replication Domain configuration delete listener.
      • hasReplicationServer

        boolean hasReplicationServer()
        Determines whether the Replication Server exists.
        Returns:
        Returns true if the Replication Server exists.
      • getReplicationServer

        ReplicationServerCfg getReplicationServer()
                                           throws ConfigException
        Gets the Replication Server if it is present.
        Returns:
        Returns the Replication Server if it is present.
        Throws:
        ConfigException - If the Replication Server does not exist or it could not be successfully decoded.
      • removeReplicationServerAddListener

        void removeReplicationServerAddListener​(ConfigurationAddListener<ReplicationServerCfg> listener)
        Deregisters an existing Replication Server configuration add listener.
        Parameters:
        listener - The Replication Server configuration add listener.
      • removeReplicationServerDeleteListener

        void removeReplicationServerDeleteListener​(ConfigurationDeleteListener<ReplicationServerCfg> listener)
        Deregisters an existing Replication Server configuration delete listener.
        Parameters:
        listener - The Replication Server configuration delete listener.