See: Description
Class | Description |
---|---|
ChangeNumberIndexer |
Thread responsible for inserting replicated changes into the ChangeNumber Index DB (CNIndexDB for short).
|
DomainDBCursor |
Cursor iterating over a replication domain's replica DBs.
|
ECLEnabledDomainPredicate |
Returns whether a domain is enabled for the external changelog.
|
ECLMultiDomainDBCursor |
Multi domain DB cursor that only returns updates for the domains which have been enabled for the external changelog.
|
EmptyCursor<T> |
No operation (empty) cursor.
|
FileChangelogDB |
Log file implementation of the ChangelogDB interface.
|
MultiDomainDBCursor |
Cursor iterating over all the replication domains known to the changelog DB.
|
ReplicaCursor |
Exception | Description |
---|---|
DecodingException |
Exception thrown when a record can't be decoded properly.
|
Here is a class diagram of the whole hierarchy of cursors from the changelog DB (using plantuml notation):
@startuml
package "High-level cursors:\nreturn LDAPUpdateMsg\n and ReplicataOfflineMsg" {
DBCursor <|-- CompositeDBCursor
CompositeDBCursor <|-- DomainDBCursor
CompositeDBCursor <|-- MultiDomainDBCursor
DBCursor <|-- ECLMultiDomainDBCursor
DBCursor <|-- ReplicaCursor
DBCursor <|-- FileReplicaDBCursor
class ECLMultiDomainDBCursor
note left : only returns update messages for domains\nwhich have been enabled for the external changelog
ECLMultiDomainDBCursor -> MultiDomainDBCursor
class MultiDomainDBCursor
note bottom : cross-domains cursor]\n(multiple domains)
MultiDomainDBCursor -> "+" DomainDBCursor
class DomainDBCursor
note bottom : cursor on a single domain\n(multiple replicas)
DomainDBCursor -> "+" ReplicaCursor
class ReplicaCursor
note bottom : cursor on a single replica\n(including the most recent\n replica offline message\nand all update messages)
ReplicaCursor -> FileReplicaDBCursor
ReplicaCursor : ReplicaOfflineMsg replicaOfflineMsg
class FileReplicaDBCursor
note bottom : cursor on a single replica DB\n(excluding replica offline messages\n- only update messages)
}
package "Low-level cursors:\nreturn LDAPUpdateMsg" {
DBCursor <|-- RepositionableCursor
RepositionableCursor <|-- LogFileCursor
RepositionableCursor <|-- LogCursor
RepositionableCursor <|-- EmptyCursor
LogCursor <|-- InternalLogCursor
LogCursor <|-- AbortableLogCursor
LogCursor <|-- AbortedLogCursor
FileReplicaDBCursor -> AbortableLogCursor
class AbortableLogCursor
note bottom : delegates to an InternalLogCursor,\nthen to an AbortedLogCursor when aborted
AbortableLogCursor -> InternalLogCursor
AbortableLogCursor -> AbortedLogCursor
class InternalLogCursor
note bottom : cursors through log files\nthat comprise a Log
InternalLogCursor -> LogFileCursor
InternalLogCursor -> LogFile
class LogFileCursor
note bottom : cursors through a single log file
LogFileCursor -> LogFile
LogFileCursor -> BlockLogReader
}
@enduml
Copyright 2010-2018 ForgeRock AS.