Element | Description | Class |
---|
aciAuthorizationInterceptor | An ACI based authorization service. | org.apache.directory.server.core.authz.AciAuthorizationInterceptor |
apacheDS | Apache Directory Server top level. | org.apache.directory.server.configuration.ApacheDS |
authenticationInterceptor | An {@link Interceptor} that authenticates users. | org.apache.directory.server.core.authn.AuthenticationInterceptor |
changePasswordServer | Contains the configuration parameters for the Change Password protocol provider. | org.apache.directory.server.changepw.ChangePasswordServer |
collectiveAttributeInterceptor | An interceptor based service dealing with collective attribute
management. This service intercepts read operations on entries to
inject collective attribute value pairs into the response based on
the entires inclusion within collectiveAttributeSpecificAreas and
collectiveAttributeInnerAreas. | org.apache.directory.server.core.collective.CollectiveAttributeInterceptor |
datagramAcceptor | Extension around a MINA DatagramAcceptor to facilitate better usage with Spring. | org.apache.directory.server.protocol.shared.DatagramAcceptor |
defaultAuthorizationInterceptor | An {@link Interceptor} that controls access to {@link PartitionNexus}.
If a user tries to perform any operations that requires
permission he or she doesn't have, {@link NoPermissionException} will be
thrown and therefore the current invocation chain will terminate. | org.apache.directory.server.core.authz.DefaultAuthorizationInterceptor |
defaultChangeLog | The default ChangeLog service implementation. | org.apache.directory.server.core.changelog.DefaultChangeLog |
defaultDirectoryService | Default implementation of {@link DirectoryService}. | org.apache.directory.server.core.DefaultDirectoryService |
dnsServer | Contains the configuration parameters for the DNS protocol provider. | org.apache.directory.server.dns.DnsServer |
eventInterceptor | An interceptor based serivice for notifying NamingListeners of EventContext
and EventDirContext changes. | org.apache.directory.server.core.event.EventInterceptor |
exceptionInterceptor | An {@link org.apache.directory.server.core.interceptor.Interceptor} that detects any operations that breaks integrity
of {@link Partition} and terminates the current invocation chain by
throwing a {@link NamingException}. Those operations include when an entry
already exists at a DN and is added once again to the same DN. | org.apache.directory.server.core.exception.ExceptionInterceptor |
extendedOperationHandler | An extension (hook) point that enables an implementor to provide his or her
own LDAP 'Extended' operation. | org.apache.directory.server.ldap.ExtendedOperationHandler |
gracefulShutdownHandler | | org.apache.directory.server.ldap.support.extended.GracefulShutdownHandler |
jdbmIndex | A Jdbm based index implementation. | org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex |
jdbmPartition | A {@link Partition} that stores entries in
JDBM database. | org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition |
kdcServer | Contains the configuration parameters for the Kerberos protocol provider. | org.apache.directory.server.kerberos.kdc.KdcServer |
launchDiagnosticUiHandler | | org.apache.directory.server.ldap.support.extended.LaunchDiagnosticUiHandler |
ldapServer | An LDAP protocol provider implementation which dynamically associates
handlers. | org.apache.directory.server.ldap.LdapServer |
memoryChangeLogStore | A change log store that keeps it's information in memory. | org.apache.directory.server.core.changelog.MemoryChangeLogStore |
normalizationInterceptor | A name normalization service. This service makes sure all relative and distinuished
names are normalized before calls are made against the respective interface methods
on {@link PartitionNexus}. | org.apache.directory.server.core.normalization.NormalizationInterceptor |
ntpServer | Contains the configuration parameters for the NTP protocol provider. | org.apache.directory.server.ntp.NtpServer |
operationalAttributeInterceptor | An {@link Interceptor} that adds or modifies the default attributes
of entries. There are four default attributes for now;
'creatorsName', 'createTimestamp', 'modifiersName',
and 'modifyTimestamp'. | org.apache.directory.server.core.operational.OperationalAttributeInterceptor |
partition | An interfaces that bridges between underlying JNDI entries and JNDI
{@link Context} API. DIT (Directory Information Tree) consists one or
above {@link Partition}s whose parent is {@link PartitionNexus},
and all of them are mapped to different
base suffix. Each partition contains entries whose name ends with that
base suffix. | org.apache.directory.server.core.partition.Partition |
referralInterceptor | An service which is responsible referral handling behavoirs. It manages
referral handling behavoir when the {@link Context#REFERRAL} is implicitly
or explicitly set to "ignore", when set to "throw" and when set to "follow". | org.apache.directory.server.core.referral.ReferralInterceptor |
replicaId | Store a replica ID after having normalized it.
The normalization proces checks that the submitted id is valid, ie
contains only this char set : { '-', '_', 'a..z', 'A..Z', '0..9' }
and its length is between 1 and 16. | org.apache.directory.mitosis.common.ReplicaId |
replicationConfiguration | A configuration for {@link ReplicationInterceptor}. This configuration can be
used by calling {@link ReplicationInterceptor#setConfiguration(ReplicationConfiguration)}. | org.apache.directory.mitosis.configuration.ReplicationConfiguration |
replicationInterceptor | An {@link Interceptor} that intercepts LDAP operations and propagates the
changes occurred by the operations into other {@link ReplicaId}s so the DIT
of each {@link ReplicaId} in the cluster has the same content without any
conflict.
Once an operation is invoked, this interceptor transforms it into one or
more operations that makes the requested operation more proper and robust
for replication. The transformation process is actually just calling a
respective factory method in {@link OperationFactory}. The methods in
{@link OperationFactory} returns a new {@link Operation} instance.
The newly created {@link Operation} is used for three purposes.
- To perform the requested operation to the local {@link PartitionNexus}
- To store the created {@link Operation} itself to
{@link ReplicationStore} so that it can be retrieved later by
{@link ReplicationLogCleanJob} and {@link ReplicationClientContextHandler}
- To transfer itself to other {@link ReplicaId}s via TCP/IP communication
between {@link ReplicationClientContextHandler} and
{@link ReplicationServerContextHandler}
The first two actions (modifying the local DIT and storing the
{@link Operation} to {@link ReplicationStore}) are performed automatically
when
{@link Operation#execute(PartitionNexus, ReplicationStore, Registries)}
method is invoked. {@link ReplicationInterceptor} always call it instead of
forwarding the requested operation to the next {@link Interceptor}.
The last action takes place by {@link ReplicationClientContextHandler},
which handles TCP/IP connection managed by {@link ClientConnectionManager}.
There are two special attributes in the entries to be replicated:
- entryCSN - stores {@link CSN} of the entry. This attribute is
used to compare the incoming operation from other replica is still
valid. If the local entryCSN value is bigger then that of the
incoming operation, it means conflict, and therefore an appropriate
conflict resolution mechanism should get engaged.
- entryDeleted - is TRUE if and only if the entry is
deleted. The entry is not deleted immediately by a delete operation
because entryCSN attribute should be retained for certain
amount of time to determine whether the incoming change LOG, which
affects an entry with the same DN, is a conflict (modification on a
deleted entry) or not (creation of a new entry). You can purge old
deleted entries and related change logs in {@link ReplicationStore} by
calling {@link #purgeAgedData()}, or they will be purged automatically
by periodic manner as you configured with {@link ReplicationConfiguration}.
by calling {@link ReplicationConfiguration#setLogMaxAge(int)}.
Because of this attribute, lookup and search
operations are overrided to ignore entries with entryDeleted
set to TRUE.
| org.apache.directory.mitosis.service.ReplicationInterceptor |
schemaInterceptor | An {@link org.apache.directory.server.core.interceptor.Interceptor} that manages and enforces schemas. | org.apache.directory.server.core.schema.SchemaInterceptor |
socketAcceptor | | org.apache.directory.server.protocol.shared.SocketAcceptor |
standardThreadPool | | org.apache.directory.server.protocol.shared.StandardThreadPool |
startTlsHandler | Handler for the StartTLS extended operation. | org.apache.directory.server.ldap.support.extended.StartTlsHandler |
storedProcedureExtendedOperationHandler | | org.apache.directory.server.ldap.support.extended.StoredProcedureExtendedOperationHandler |
subentryInterceptor | The Subentry interceptor service which is responsible for filtering
out subentries on search operations and injecting operational attributes | org.apache.directory.server.core.subtree.SubentryInterceptor |
triggerInterceptor | The Trigger Service based on the Trigger Specification. | org.apache.directory.server.core.trigger.TriggerInterceptor |