Interface ReplicationServerCfgClient

  • All Superinterfaces:
    ConfigurationClient

    public interface ReplicationServerCfgClient
    extends ConfigurationClient
    A client-side interface for reading and modifying Replication Server settings.

    Replication Servers publish updates to Directory Servers within a Replication Domain.

    • Method Detail

      • getAssuredTimeout

        long getAssuredTimeout()
        Gets the "assured-timeout" property.

        The timeout value when waiting for assured mode acknowledgments.

        Defines the number of milliseconds that the replication server will wait for assured acknowledgments (in either Safe Data or Safe Read assured sub modes) before forgetting them and answer to the entity that sent an update and is waiting for acknowledgment.

        Returns:
        Returns the value of the "assured-timeout" property.
      • setAssuredTimeout

        void setAssuredTimeout​(Long value)
                        throws PropertyException
        Sets the "assured-timeout" property.

        The timeout value when waiting for assured mode acknowledgments.

        Defines the number of milliseconds that the replication server will wait for assured acknowledgments (in either Safe Data or Safe Read assured sub modes) before forgetting them and answer to the entity that sent an update and is waiting for acknowledgment.

        Parameters:
        value - The value of the "assured-timeout" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getCipherKeyLength

        int getCipherKeyLength()
        Gets the "cipher-key-length" property.

        Specifies the key length in bits for the preferred cipher.

        Returns:
        Returns the value of the "cipher-key-length" property.
      • setCipherKeyLength

        void setCipherKeyLength​(Integer value)
                         throws PropertyException
        Sets the "cipher-key-length" property.

        Specifies the key length in bits for the preferred cipher.

        Parameters:
        value - The value of the "cipher-key-length" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getCipherTransformation

        String getCipherTransformation()
        Gets the "cipher-transformation" property.

        Specifies the cipher for the directory server. The syntax is "algorithm/mode/padding".

        The full transformation is required: specifying only an algorithm and allowing the cipher provider to supply the default mode and padding is not supported, because there is no guarantee these default values are the same among different implementations. Some cipher algorithms, including RC4 and ARCFOUR, do not have a mode or padding, and hence must be specified using NONE for the mode field and NoPadding for the padding field. For example, RC4/NONE/NoPadding.

        Returns:
        Returns the value of the "cipher-transformation" property.
      • setCipherTransformation

        void setCipherTransformation​(String value)
                              throws PropertyException
        Sets the "cipher-transformation" property.

        Specifies the cipher for the directory server. The syntax is "algorithm/mode/padding".

        The full transformation is required: specifying only an algorithm and allowing the cipher provider to supply the default mode and padding is not supported, because there is no guarantee these default values are the same among different implementations. Some cipher algorithms, including RC4 and ARCFOUR, do not have a mode or padding, and hence must be specified using NONE for the mode field and NoPadding for the padding field. For example, RC4/NONE/NoPadding.

        Parameters:
        value - The value of the "cipher-transformation" property.
        Throws:
        PropertyException - If the new value is invalid.
      • isComputeChangeNumber

        boolean isComputeChangeNumber()
        Gets the "compute-change-number" property.

        Whether the replication server will compute change numbers.

        This boolean tells the replication server to compute change numbers for each replicated change by maintaining a change number index database. Changenumbers are computed according to http://tools.ietf.org/html/draft-good-ldap-changelog-04. Note this functionality has an impact on CPU, disk accesses and storage. If changenumbers are not required, it is advisable to set this value to false.

        Returns:
        Returns the value of the "compute-change-number" property.
      • setComputeChangeNumber

        void setComputeChangeNumber​(Boolean value)
                             throws PropertyException
        Sets the "compute-change-number" property.

        Whether the replication server will compute change numbers.

        This boolean tells the replication server to compute change numbers for each replicated change by maintaining a change number index database. Changenumbers are computed according to http://tools.ietf.org/html/draft-good-ldap-changelog-04. Note this functionality has an impact on CPU, disk accesses and storage. If changenumbers are not required, it is advisable to set this value to false.

        Parameters:
        value - The value of the "compute-change-number" property.
        Throws:
        PropertyException - If the new value is invalid.
      • isConfidentialityEnabled

        boolean isConfidentialityEnabled()
        Gets the "confidentiality-enabled" property.

        Indicates whether the replication change-log should make records readable only by Directory Server. Throughput and disk space are affected by the more expensive operations taking place.

        Confidentiality is achieved by encrypting records on all domains managed by this replication server. Encrypting the records prevents unauthorized parties from accessing contents of LDAP operations. For complete protection, consider enabling secure communications between servers. Change number indexing is not affected by the setting.

        Returns:
        Returns the value of the "confidentiality-enabled" property.
      • setConfidentialityEnabled

        void setConfidentialityEnabled​(Boolean value)
                                throws PropertyException
        Sets the "confidentiality-enabled" property.

        Indicates whether the replication change-log should make records readable only by Directory Server. Throughput and disk space are affected by the more expensive operations taking place.

        Confidentiality is achieved by encrypting records on all domains managed by this replication server. Encrypting the records prevents unauthorized parties from accessing contents of LDAP operations. For complete protection, consider enabling secure communications between servers. Change number indexing is not affected by the setting.

        Parameters:
        value - The value of the "confidentiality-enabled" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getDegradedStatusThreshold

        int getDegradedStatusThreshold()
        Gets the "degraded-status-threshold" property.

        The number of pending changes as threshold value for putting a directory server in degraded status.

        This value represents a number of pending changes a replication server has in queue for sending to a directory server. Once this value is crossed, the matching directory server goes in degraded status. When number of pending changes goes back under this value, the directory server is put back in normal status. 0 means status analyzer is disabled and directory servers are never put in degraded status.

        Returns:
        Returns the value of the "degraded-status-threshold" property.
      • setDegradedStatusThreshold

        void setDegradedStatusThreshold​(Integer value)
                                 throws PropertyException
        Sets the "degraded-status-threshold" property.

        The number of pending changes as threshold value for putting a directory server in degraded status.

        This value represents a number of pending changes a replication server has in queue for sending to a directory server. Once this value is crossed, the matching directory server goes in degraded status. When number of pending changes goes back under this value, the directory server is put back in normal status. 0 means status analyzer is disabled and directory servers are never put in degraded status.

        Parameters:
        value - The value of the "degraded-status-threshold" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getGroupId

        int getGroupId()
        Gets the "group-id" property.

        The group id for the replication server.

        This value defines the group id of the replication server. The replication system of a LDAP server uses the group id of the replicated domain and tries to connect, if possible, to a replication with the same group id.

        Returns:
        Returns the value of the "group-id" property.
      • setGroupId

        void setGroupId​(Integer value)
                 throws PropertyException
        Sets the "group-id" property.

        The group id for the replication server.

        This value defines the group id of the replication server. The replication system of a LDAP server uses the group id of the replicated domain and tries to connect, if possible, to a replication with the same group id.

        Parameters:
        value - The value of the "group-id" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getMonitoringPeriod

        long getMonitoringPeriod()
        Gets the "monitoring-period" property.

        The period between sending of monitoring messages.

        Defines the duration that the replication server will wait before sending new monitoring messages to its peers (replication servers and directory servers). Larger values increase the length of time it takes for a directory server to detect and switch to a more suitable replication server, whereas smaller values increase the amount of background network traffic.

        Returns:
        Returns the value of the "monitoring-period" property.
      • setMonitoringPeriod

        void setMonitoringPeriod​(Long value)
                          throws PropertyException
        Sets the "monitoring-period" property.

        The period between sending of monitoring messages.

        Defines the duration that the replication server will wait before sending new monitoring messages to its peers (replication servers and directory servers). Larger values increase the length of time it takes for a directory server to detect and switch to a more suitable replication server, whereas smaller values increase the amount of background network traffic.

        Parameters:
        value - The value of the "monitoring-period" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getQueueSize

        int getQueueSize()
        Gets the "queue-size" property.

        Specifies the number of changes that are kept in memory for each directory server in the Replication Domain.

        Returns:
        Returns the value of the "queue-size" property.
      • setQueueSize

        void setQueueSize​(Integer value)
                   throws PropertyException
        Sets the "queue-size" property.

        Specifies the number of changes that are kept in memory for each directory server in the Replication Domain.

        Parameters:
        value - The value of the "queue-size" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getReplicationDBDirectory

        String getReplicationDBDirectory()
        Gets the "replication-db-directory" property.

        The path where the Replication Server stores all persistent information.

        Returns:
        Returns the value of the "replication-db-directory" property.
      • setReplicationDBDirectory

        void setReplicationDBDirectory​(String value)
                                throws PropertyException,
                                       PropertyException
        Sets the "replication-db-directory" property.

        The path where the Replication Server stores all persistent information.

        This property is read-only and can only be modified during creation of a Replication Server.

        Parameters:
        value - The value of the "replication-db-directory" property.
        Throws:
        PropertyException - If the new value is invalid.
        PropertyException - If this Replication Server is not being initialized.
      • getReplicationPort

        Integer getReplicationPort()
        Gets the "replication-port" property.

        The port on which this Replication Server waits for connections from other Replication Servers or Directory Servers.

        Returns:
        Returns the value of the "replication-port" property.
      • setReplicationPort

        void setReplicationPort​(int value)
                         throws PropertyException
        Sets the "replication-port" property.

        The port on which this Replication Server waits for connections from other Replication Servers or Directory Servers.

        Parameters:
        value - The value of the "replication-port" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getReplicationPurgeDelay

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

        The time (in seconds) after which the Replication Server erases all persistent information.

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

        void setReplicationPurgeDelay​(Long value)
                               throws PropertyException
        Sets the "replication-purge-delay" property.

        The time (in seconds) after which the Replication Server erases all persistent information.

        Parameters:
        value - The value of the "replication-purge-delay" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getReplicationServer

        SortedSet<String> getReplicationServer()
        Gets the "replication-server" property.

        Specifies the addresses of other Replication Servers to which this Replication Server tries to connect at startup time.

        Addresses must be specified using the syntax: "hostname:port". If IPv6 addresses are used as the hostname, they must be specified using the syntax "[IPv6Address]:port".

        Returns:
        Returns the values of the "replication-server" property.
      • setReplicationServer

        void setReplicationServer​(Collection<String> values)
                           throws PropertyException
        Sets the "replication-server" property.

        Specifies the addresses of other Replication Servers to which this Replication Server tries to connect at startup time.

        Addresses must be specified using the syntax: "hostname:port". If IPv6 addresses are used as the hostname, they must be specified using the syntax "[IPv6Address]:port".

        Parameters:
        values - The values of the "replication-server" property.
        Throws:
        PropertyException - If one or more of the new values are invalid.
      • getReplicationServerId

        Integer getReplicationServerId()
        Gets the "replication-server-id" property.

        Specifies a unique identifier for the Replication Server.

        Each Replication Server must have a different server ID.

        Returns:
        Returns the value of the "replication-server-id" property.
      • setReplicationServerId

        void setReplicationServerId​(int value)
                             throws PropertyException,
                                    PropertyException
        Sets the "replication-server-id" property.

        Specifies a unique identifier for the Replication Server.

        Each Replication Server must have a different server ID.

        This property is read-only and can only be modified during creation of a Replication Server.

        Parameters:
        value - The value of the "replication-server-id" property.
        Throws:
        PropertyException - If the new value is invalid.
        PropertyException - If this Replication Server is not being initialized.
      • getSourceAddress

        InetAddress 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.
      • setSourceAddress

        void setSourceAddress​(InetAddress value)
                       throws PropertyException
        Sets 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.

        Parameters:
        value - The value of the "source-address" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getWeight

        int getWeight()
        Gets the "weight" property.

        The weight of the replication server.

        The weight affected to the replication server. Each replication server of the topology has a weight. When combined together, the weights of the replication servers of a same group can be translated to a percentage that determines the quantity of directory servers of the topology that should be connected to a replication server. For instance imagine a topology with 3 replication servers (with the same group id) with the following weights: RS1=1, RS2=1, RS3=2. This means that RS1 should have 25% of the directory servers connected in the topology, RS2 25%, and RS3 50%. This may be useful if the replication servers of the topology have a different power and one wants to spread the load between the replication servers according to their power.

        Returns:
        Returns the value of the "weight" property.
      • setWeight

        void setWeight​(Integer value)
                throws PropertyException
        Sets the "weight" property.

        The weight of the replication server.

        The weight affected to the replication server. Each replication server of the topology has a weight. When combined together, the weights of the replication servers of a same group can be translated to a percentage that determines the quantity of directory servers of the topology that should be connected to a replication server. For instance imagine a topology with 3 replication servers (with the same group id) with the following weights: RS1=1, RS2=1, RS3=2. This means that RS1 should have 25% of the directory servers connected in the topology, RS2 25%, and RS3 50%. This may be useful if the replication servers of the topology have a different power and one wants to spread the load between the replication servers according to their power.

        Parameters:
        value - The value of the "weight" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getWindowSize

        int getWindowSize()
        Gets the "window-size" property.

        Specifies the window size that the Replication Server uses when communicating with other Replication Servers.

        This option may be deprecated and removed in future releases.

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

        void setWindowSize​(Integer value)
                    throws PropertyException
        Sets the "window-size" property.

        Specifies the window size that the Replication Server uses when communicating with other Replication Servers.

        This option may be deprecated and removed in future releases.

        Parameters:
        value - The value of the "window-size" property.
        Throws:
        PropertyException - If the new value is invalid.