Interface LeaderBasedReplicationSynchronizationProviderCfgClient
- All Superinterfaces:
ConfigurationClient, SynchronizationProviderCfgClient
The Leader Based Replication Synchronization Provider provides leader based eventually consistent replication of data across multiple directory server instances.
-
Method Summary
Modifier and TypeMethodDescription<C extends LeaderBasedReplicationDomainCfgClient>
CcreateLeaderBasedReplicationDomain(ManagedObjectDefinition<C, ? extends LeaderBasedReplicationDomainCfg> d, String name, Collection<PropertyException> exceptions) Creates a new Leader Based Replication Domain.ManagedObjectDefinition<? extends LeaderBasedReplicationSynchronizationProviderCfgClient, ? extends LeaderBasedReplicationSynchronizationProviderCfg> Get the configuration definition associated with this Leader Based Replication Synchronization Provider.SortedSet<ValueOrExpression<com.forgerock.opendj.util.Host>> Gets the "advertised-listen-address" property.SortedSet<ValueOrExpression<com.forgerock.opendj.util.HostPort>> Gets the "bootstrap-replication-server" property.Gets the "java-class" property.Gets the "key-manager-provider" property.Gets the named Leader Based Replication Domain.Gets the "replication-port" property.Gets the "replication-purge-delay" property.Gets the "ssl-cert-nickname" property.Gets the "ssl-cipher-suite" property.Gets the "ssl-protocol" property.Gets the "trust-manager-provider" property.Gets the "solve-conflicts" property.String[]Lists the Leader Based Replication Domains.voidRemoves the named Leader Based Replication Domain.voidsetAdvertisedListenAddress(Collection<ValueOrExpression<com.forgerock.opendj.util.Host>> values) Sets the "advertised-listen-address" property.voidsetBootstrapReplicationServer(Collection<ValueOrExpression<com.forgerock.opendj.util.HostPort>> values) Sets the "bootstrap-replication-server" property.voidsetJavaClass(ValueOrExpression<String> value) Sets the "java-class" property.voidSets the "key-manager-provider" property.voidSets the "replication-port" property.voidSets the "replication-purge-delay" property.voidSets the "solve-conflicts" property.voidsetSslCertNickname(Collection<ValueOrExpression<String>> values) Sets the "ssl-cert-nickname" property.voidsetSslCipherSuite(Collection<ValueOrExpression<String>> values) Sets the "ssl-cipher-suite" property.voidsetSslProtocol(Collection<ValueOrExpression<String>> values) Sets the "ssl-protocol" property.voidSets the "trust-manager-provider" property.Methods inherited from interface ConfigurationClient
commit, propertiesMethods inherited from interface SynchronizationProviderCfgClient
isEnabled, setEnabled
-
Method Details
-
definition
ManagedObjectDefinition<? extends LeaderBasedReplicationSynchronizationProviderCfgClient, ? extends LeaderBasedReplicationSynchronizationProviderCfg> definition()Get the configuration definition associated with this Leader Based Replication Synchronization Provider.- Specified by:
definitionin interfaceConfigurationClient- Specified by:
definitionin interfaceSynchronizationProviderCfgClient- Returns:
- Returns the configuration definition associated with this Leader Based Replication Synchronization Provider.
-
getAdvertisedListenAddress
@MandatoryProperty SortedSet<ValueOrExpression<com.forgerock.opendj.util.Host>> getAdvertisedListenAddress()Gets the "advertised-listen-address" property.The advertised address(es) which clients should use for connecting to this Leader Based Replication Synchronization Provider.
Multiple addresses may be provided as separate values for this attribute. The meta-address 0.0.0.0 is not permitted.
Default value is inherited from another property
- Returns:
- Returns the values of the "advertised-listen-address" property.
-
setAdvertisedListenAddress
@MandatoryProperty void setAdvertisedListenAddress(Collection<ValueOrExpression<com.forgerock.opendj.util.Host>> values) throws PropertyException Sets the "advertised-listen-address" property.The advertised address(es) which clients should use for connecting to this Leader Based Replication Synchronization Provider.
Multiple addresses may be provided as separate values for this attribute. The meta-address 0.0.0.0 is not permitted.
- Parameters:
values- The values of the "advertised-listen-address" property.- Throws:
PropertyException- If one or more of the new values are invalid.
-
getBootstrapReplicationServer
SortedSet<ValueOrExpression<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 the values of the "bootstrap-replication-server" property.
-
setBootstrapReplicationServer
void setBootstrapReplicationServer(Collection<ValueOrExpression<com.forgerock.opendj.util.HostPort>> values) throws PropertyException Sets 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".
- Parameters:
values- The values of the "bootstrap-replication-server" property.- Throws:
PropertyException- If one or more of the new values are invalid.
-
getJavaClass
Gets the "java-class" property.Specifies the fully-qualified name of the Java class that provides the Leader Based Replication Synchronization Provider implementation.
Default value:
org.forgerock.opendj.server.leaderbasedreplication.LeaderBasedReplication- Specified by:
getJavaClassin interfaceSynchronizationProviderCfgClient- Returns:
- Returns the value of the "java-class" property.
-
setJavaClass
Sets the "java-class" property.Specifies the fully-qualified name of the Java class that provides the Leader Based Replication Synchronization Provider implementation.
- Specified by:
setJavaClassin interfaceSynchronizationProviderCfgClient- Parameters:
value- The value of the "java-class" property.- Throws:
PropertyException- If the new value is invalid.
-
getKeyManagerProvider
Gets the "key-manager-provider" property.Specifies the name of the key manager that should be used with this Leader Based Replication Synchronization Provider.
Default value is undefined
- Returns:
- Returns the value of the "key-manager-provider" property.
-
setKeyManagerProvider
@MandatoryProperty void setKeyManagerProvider(ValueOrExpression<String> value) throws PropertyException Sets the "key-manager-provider" property.Specifies the name of the key manager that should be used with this Leader Based Replication Synchronization Provider.
- Parameters:
value- The value of the "key-manager-provider" property.- Throws:
PropertyException- If the new value is invalid.
-
getReplicationPort
Gets the "replication-port" property.The port on which the directory server listens for the replication LDAP traffic.
- Returns:
- Returns the value of the "replication-port" property.
-
setReplicationPort
@MandatoryProperty void setReplicationPort(ValueOrExpression<Integer> value) throws PropertyException Sets the "replication-port" property.The port on which the directory server listens for the replication LDAP traffic.
- Parameters:
value- The value of the "replication-port" property.- Throws:
PropertyException- If the new value is invalid.
-
getReplicationPurgeDelay
ValueOrExpression<Duration> 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.
-
setReplicationPurgeDelay
Sets 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.
- Parameters:
value- The value of the "replication-purge-delay" property.- Throws:
PropertyException- If the new value is invalid.
-
isSolveConflicts
ValueOrExpression<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.
-
setSolveConflicts
Sets 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.
- Parameters:
value- The value of the "solve-conflicts" property.- Throws:
PropertyException- If the new value is invalid.
-
getSslCertNickname
SortedSet<ValueOrExpression<String>> getSslCertNickname()Gets the "ssl-cert-nickname" property.Specifies the nicknames (also called the aliases) of the keys or key pairs that the Leader Based 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 Leader Based Replication Synchronization Provider is configured to use SSL.
- Returns:
- Returns the values of the "ssl-cert-nickname" property.
-
setSslCertNickname
Sets the "ssl-cert-nickname" property.Specifies the nicknames (also called the aliases) of the keys or key pairs that the Leader Based 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 Leader Based Replication Synchronization Provider is configured to use SSL.
- Parameters:
values- The values of the "ssl-cert-nickname" property.- Throws:
PropertyException- If one or more of the new values are invalid.
-
getSslCipherSuite
SortedSet<ValueOrExpression<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 the values of the "ssl-cipher-suite" property.
-
setSslCipherSuite
Sets the "ssl-cipher-suite" property.Specifies the names of the SSL cipher suites that are allowed for use in SSL or TLS communication.
- Parameters:
values- The values of the "ssl-cipher-suite" property.- Throws:
PropertyException- If one or more of the new values are invalid.
-
getSslProtocol
SortedSet<ValueOrExpression<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 the values of the "ssl-protocol" property.
-
setSslProtocol
Sets the "ssl-protocol" property.Specifies the names of the SSL protocols that are allowed for use in SSL or TLS communication.
- Parameters:
values- The values of the "ssl-protocol" property.- Throws:
PropertyException- If one or more of the new values are invalid.
-
getTrustManagerProvider
Gets the "trust-manager-provider" property.Specifies the name of the trust manager that should be used with the Leader Based Replication Synchronization Provider.
Default value is undefined
- Returns:
- Returns the values of the "trust-manager-provider" property.
-
setTrustManagerProvider
@MandatoryProperty void setTrustManagerProvider(Collection<ValueOrExpression<String>> values) throws PropertyException Sets the "trust-manager-provider" property.Specifies the name of the trust manager that should be used with the Leader Based Replication Synchronization Provider.
- Parameters:
values- The values of the "trust-manager-provider" property.- Throws:
PropertyException- If one or more of the new values are invalid.
-
listLeaderBasedReplicationDomains
Lists the Leader Based Replication Domains.- Returns:
- Returns an array containing the names of the Leader Based Replication Domains.
- Throws:
ConcurrentModificationException- If this Leader Based Replication Synchronization Provider has been removed from the server by another client.LdapException- If any other error occurs.
-
getLeaderBasedReplicationDomain
LeaderBasedReplicationDomainCfgClient getLeaderBasedReplicationDomain(String name) throws DefinitionDecodingException, ManagedObjectDecodingException, ManagedObjectNotFoundException, ConcurrentModificationException, LdapException Gets the named Leader Based Replication Domain.- Parameters:
name- The name of the Leader Based Replication Domain to retrieve.- Returns:
- Returns the named Leader Based Replication Domain.
- Throws:
DefinitionDecodingException- If the named Leader Based Replication Domain was found but its type could not be determined.ManagedObjectDecodingException- If the named Leader Based Replication Domain was found but one or more of its properties could not be decoded.ManagedObjectNotFoundException- If the named Leader Based Replication Domain was not found on the server.ConcurrentModificationException- If this Leader Based Replication Synchronization Provider has been removed from the server by another client.LdapException- If any other error occurs.
-
createLeaderBasedReplicationDomain
<C extends LeaderBasedReplicationDomainCfgClient> C createLeaderBasedReplicationDomain(ManagedObjectDefinition<C, ? extends LeaderBasedReplicationDomainCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException Creates a new Leader Based Replication Domain. The new Leader Based Replication Domain will initially not contain any property values (including mandatory properties). Once the Leader Based Replication Domain has been configured it can be added to the server using theConfigurationClient.commit()method.- Type Parameters:
C- The type of the Leader Based Replication Domain being created.- Parameters:
d- The definition of the Leader Based Replication Domain to be created.name- The name of the new Leader Based Replication Domain.exceptions- An optional collection in which to place anyPropertyExceptions that occurred whilst attempting to determine the default values of the Leader Based Replication Domain. This argument can benull.- Returns:
- Returns a new Leader Based Replication Domain configuration instance.
- Throws:
IllegalManagedObjectNameException- If the name of the new Leader Based Replication Domain is invalid.
-
removeLeaderBasedReplicationDomain
void removeLeaderBasedReplicationDomain(String name) throws ManagedObjectNotFoundException, OperationRejectedException, ConcurrentModificationException, LdapException Removes the named Leader Based Replication Domain.- Parameters:
name- The name of the Leader Based Replication Domain to remove.- Throws:
ManagedObjectNotFoundException- If the Leader Based Replication Domain does not exist.OperationRejectedException- If the server refuses to remove the Leader Based Replication Domain due to some server-side constraint which cannot be satisfied (for example, if it is referenced by another managed object).ConcurrentModificationException- If this Leader Based Replication Synchronization Provider has been removed from the server by another client.LdapException- If any other error occurs.
-