public interface ProxyBackendCfg extends BackendCfg
A Proxy Backend forwards LDAP requests to other servers.
Modifier and Type | Method and Description |
---|---|
void |
addProxyChangeListener(ConfigurationChangeListener<ProxyBackendCfg> listener)
Register to be notified when this Proxy Backend is changed.
|
Class<? extends ProxyBackendCfg> |
configurationClass()
Gets the configuration class associated with this Proxy Backend.
|
SortedSet<Dn> |
getBaseDn()
Gets the "base-dn" property.
|
long |
getConnectionPoolIdleTimeout()
Gets the "connection-pool-idle-timeout" property.
|
int |
getConnectionPoolMaxSize()
Gets the "connection-pool-max-size" property.
|
int |
getConnectionPoolMinSize()
Gets the "connection-pool-min-size" property.
|
long |
getConnectionTimeout()
Gets the "connection-timeout" property.
|
long |
getDiscoveryInterval()
Gets the "discovery-interval" property.
|
long |
getHeartbeatInterval()
Gets the "heartbeat-interval" property.
|
Dn |
getHeartbeatSearchRequestBaseDn()
Gets the "heartbeat-search-request-base-dn" property.
|
String |
getJavaClass()
Gets the "java-class" property.
|
ProxyBackendCfgDefn.LoadBalancingAlgorithm |
getLoadBalancingAlgorithm()
Gets the "load-balancing-algorithm" property.
|
SortedSet<Dn> |
getPartitionBaseDn()
Gets the "partition-base-dn" property.
|
Dn |
getProxyUserDn()
Gets the "proxy-user-dn" property.
|
String |
getProxyUserPassword()
Gets the "proxy-user-password" property.
|
String |
getProxyUserPasswordEnvironmentVariable()
Gets the "proxy-user-password-environment-variable" property.
|
String |
getProxyUserPasswordFile()
Gets the "proxy-user-password-file" property.
|
String |
getProxyUserPasswordProperty()
Gets the "proxy-user-password-property" property.
|
String |
getServiceDiscoveryMechanism()
Gets the "service-discovery-mechanism" property.
|
Dn |
getServiceDiscoveryMechanismDn()
Gets the "service-discovery-mechanism" property as a DN.
|
boolean |
isRouteAll()
Gets the "route-all" property.
|
void |
removeProxyChangeListener(ConfigurationChangeListener<ProxyBackendCfg> listener)
Deregister an existing Proxy Backend configuration change listener.
|
addChangeListener, getBackendId, isEnabled, removeChangeListener
dn, name
Class<? extends ProxyBackendCfg> configurationClass()
configurationClass
in interface BackendCfg
configurationClass
in interface Configuration
void addProxyChangeListener(ConfigurationChangeListener<ProxyBackendCfg> listener)
listener
- The Proxy Backend configuration change listener.void removeProxyChangeListener(ConfigurationChangeListener<ProxyBackendCfg> listener)
listener
- The Proxy Backend configuration change listener.SortedSet<Dn> getBaseDn()
Specifies the base DN(s) for the data that the backend handles.
A single backend may be responsible for one or more base DNs. Note that no two backends may have the same base DN although one backend may have a base DN that is below a base DN provided by another backend (similar to the use of sub-suffixes in the Sun Java System Directory Server). If any of the base DNs is subordinate to a base DN for another backend, then all base DNs for that backend must be subordinate to that same base DN. When the "route-all" property is set to "true" then the "base-dn" property is ignored.
long getConnectionPoolIdleTimeout()
The time out period after which unused non-core connections will be closed and removed from the connection pool.
int getConnectionPoolMaxSize()
Maximum size of the connection pool for each remote server
int getConnectionPoolMinSize()
Minimum size of the connection pool for each remote server
long getConnectionTimeout()
Specifies the timeout used when connecting to servers, performing SSL negotiation, and for individual search and bind requests.
If the timeout expires then the current operation will be aborted and retried against another LDAP server if one is available.
long getDiscoveryInterval()
Interval between two server configuration discovery executions.
Specifies how frequently to read the configuration of the servers in order to discover any configuration change.
long getHeartbeatInterval()
Specifies the heartbeat interval that the Proxy Backend will use when communicating with the remote servers.
The Proxy Backend sends a heartbeat request to the servers every heartbeat interval. The heartbeat serves 3 purposes: keepalive, heartbeat and recovery. The hearbeat requests are small requests sent to prevent the connection from appearing idle and being forcefully closed (keepalive). The heartbeat responses inform the Proxy Backend the server is available (heartbeat). If a heartbeat answer is not received within the interval, the Proxy Backend closes the unresponsive connection and connects to another server. After an unresponsive connection is closed, the server is contacted each heartbeat interval to determine whether it is available again (recovery).
Dn getHeartbeatSearchRequestBaseDn()
Specifies the name of the entry that will be targeted by heartbeat requests.
By default heartbeat requests will attempt to read the remote server's root DSE, which is sufficient to determine whether the remote server is available, but it will not detect whether a particular backend is available. Set the heartbeat request base DN to the base entry of the backend containing application data in order to detect whether a remote server is available and handling requests against the backend.
String getJavaClass()
Specifies the fully-qualified name of the Java class that provides the backend implementation.
getJavaClass
in interface BackendCfg
ProxyBackendCfgDefn.LoadBalancingAlgorithm getLoadBalancingAlgorithm()
How to load balance between servers
SortedSet<Dn> getPartitionBaseDn()
Specifies the base DN(s) which will be used for partitioning entries when using the "affinity" load-balancing algorithm.
This settings only applies for "affinity" load-balancing algorithm and provides consistency for add/delete operations targeting entries within the same sub-tree. Entries immediately subordinate to the base DNs will be considered to be the root of a sub-tree whose entries belong to the same partition. For example, a partition base DN of "ou=people,dc=example,dc=com" would mean that "uid=bjensen,ou=people,dc=example,dc=com" and "deviceid=12345,uid=bjensen,ou=people,dc=example,dc=com" both belong to the same partition, and all operations targeting them would be routed to the same remote server.
Dn getProxyUserDn()
The bind DN that is used to forward LDAP requests to remote servers.
The proxy connects to the remote server using this bind DN and uses the proxied authorization control to forward requests on behalf of the proxy users. This bind DN must exist on all the remote servers.
String getProxyUserPassword()
Clear-text password associated with the proxy bind DN.
The proxy password must be the same on all the remote servers.
String getProxyUserPasswordEnvironmentVariable()
Specifies the name of the environment variable that contains the clear-text password associated with the proxy bind DN.
The proxy password must be the same on all the remote servers.
String getProxyUserPasswordFile()
Specifies the path to the text file whose only contents should be a single line containing the clear-text password associated with the proxy bind DN.
The proxy password must be the same on all the remote servers.
String getProxyUserPasswordProperty()
Specifies the name of the Java property that contains the clear-text password associated with the proxy bind DN.
The proxy password must be the same on all the remote servers.
boolean isRouteAll()
Route requests to all discovered public naming contexts.
When the "route-all" property is set to "true" then the "base-dn" property is ignored.
String getServiceDiscoveryMechanism()
Mechanism for finding remote servers to forward LDAP requests to
Dn getServiceDiscoveryMechanismDn()
Mechanism for finding remote servers to forward LDAP requests to
Copyright 2010-2020 ForgeRock AS.