public interface JeBackendCfgClient extends PluggableBackendCfgClient
A JE Backend stores application data in a Berkeley DB Java Edition database.
Modifier and Type | Method and Description |
---|---|
ManagedObjectDefinition<? extends JeBackendCfgClient,? extends JeBackendCfg> |
definition()
Get the configuration definition associated with this JE Backend.
|
ValueOrExpression<Integer> |
getDbCachePercent()
Gets the "db-cache-percent" property.
|
ValueOrExpression<Long> |
getDbCacheSize()
Gets the "db-cache-size" property.
|
ValueOrExpression<Long> |
getDbCheckpointerBytesInterval()
Gets the "db-checkpointer-bytes-interval" property.
|
ValueOrExpression<Long> |
getDbCheckpointerWakeupInterval()
Gets the "db-checkpointer-wakeup-interval" property.
|
ValueOrExpression<Integer> |
getDbCleanerMinUtilization()
Gets the "db-cleaner-min-utilization" property.
|
ValueOrExpression<String> |
getDbDirectory()
Gets the "db-directory" property.
|
ValueOrExpression<String> |
getDbDirectoryPermissions()
Gets the "db-directory-permissions" property.
|
ValueOrExpression<JeBackendCfgDefn.DbDurability> |
getDbDurability()
Gets the "db-durability" property.
|
ValueOrExpression<Integer> |
getDbEvictorCoreThreads()
Gets the "db-evictor-core-threads" property.
|
ValueOrExpression<Long> |
getDbEvictorKeepAlive()
Gets the "db-evictor-keep-alive" property.
|
ValueOrExpression<Integer> |
getDbEvictorMaxThreads()
Gets the "db-evictor-max-threads" property.
|
ValueOrExpression<Integer> |
getDbLogFilecacheSize()
Gets the "db-log-filecache-size" property.
|
ValueOrExpression<Long> |
getDbLogFileMax()
Gets the "db-log-file-max" property.
|
ValueOrExpression<String> |
getDbLoggingLevel()
Gets the "db-logging-level" property.
|
ValueOrExpression<String> |
getDbLogVerifierSchedule()
Gets the "db-log-verifier-schedule" property.
|
ValueOrExpression<Integer> |
getDbNumCleanerThreads()
Gets the "db-num-cleaner-threads" property.
|
ValueOrExpression<Integer> |
getDbNumLockTables()
Gets the "db-num-lock-tables" property.
|
ValueOrExpression<Long> |
getDiskFullThreshold()
Gets the "disk-full-threshold" property.
|
ValueOrExpression<Long> |
getDiskLowThreshold()
Gets the "disk-low-threshold" property.
|
ValueOrExpression<String> |
getJavaClass()
Gets the "java-class" property.
|
SortedSet<ValueOrExpression<String>> |
getJeProperty()
Gets the "je-property" property.
|
ValueOrExpression<Boolean> |
isDbLoggingFileHandlerOn()
Gets the "db-logging-file-handler-on" property.
|
ValueOrExpression<Boolean> |
isDbRunCleaner()
Gets the "db-run-cleaner" property.
|
ValueOrExpression<Boolean> |
isDbRunLogVerifier()
Gets the "db-run-log-verifier" property.
|
void |
setDbCachePercent(ValueOrExpression<Integer> value)
Sets the "db-cache-percent" property.
|
void |
setDbCacheSize(ValueOrExpression<Long> value)
Sets the "db-cache-size" property.
|
void |
setDbCheckpointerBytesInterval(ValueOrExpression<Long> value)
Sets the "db-checkpointer-bytes-interval" property.
|
void |
setDbCheckpointerWakeupInterval(ValueOrExpression<Long> value)
Sets the "db-checkpointer-wakeup-interval" property.
|
void |
setDbCleanerMinUtilization(ValueOrExpression<Integer> value)
Sets the "db-cleaner-min-utilization" property.
|
void |
setDbDirectory(ValueOrExpression<String> value)
Sets the "db-directory" property.
|
void |
setDbDirectoryPermissions(ValueOrExpression<String> value)
Sets the "db-directory-permissions" property.
|
void |
setDbDurability(ValueOrExpression<JeBackendCfgDefn.DbDurability> value)
Sets the "db-durability" property.
|
void |
setDbEvictorCoreThreads(ValueOrExpression<Integer> value)
Sets the "db-evictor-core-threads" property.
|
void |
setDbEvictorKeepAlive(ValueOrExpression<Long> value)
Sets the "db-evictor-keep-alive" property.
|
void |
setDbEvictorMaxThreads(ValueOrExpression<Integer> value)
Sets the "db-evictor-max-threads" property.
|
void |
setDbLogFilecacheSize(ValueOrExpression<Integer> value)
Sets the "db-log-filecache-size" property.
|
void |
setDbLogFileMax(ValueOrExpression<Long> value)
Sets the "db-log-file-max" property.
|
void |
setDbLoggingFileHandlerOn(ValueOrExpression<Boolean> value)
Sets the "db-logging-file-handler-on" property.
|
void |
setDbLoggingLevel(ValueOrExpression<String> value)
Sets the "db-logging-level" property.
|
void |
setDbLogVerifierSchedule(ValueOrExpression<String> value)
Sets the "db-log-verifier-schedule" property.
|
void |
setDbNumCleanerThreads(ValueOrExpression<Integer> value)
Sets the "db-num-cleaner-threads" property.
|
void |
setDbNumLockTables(ValueOrExpression<Integer> value)
Sets the "db-num-lock-tables" property.
|
void |
setDbRunCleaner(ValueOrExpression<Boolean> value)
Sets the "db-run-cleaner" property.
|
void |
setDbRunLogVerifier(ValueOrExpression<Boolean> value)
Sets the "db-run-log-verifier" property.
|
void |
setDiskFullThreshold(ValueOrExpression<Long> value)
Sets the "disk-full-threshold" property.
|
void |
setDiskLowThreshold(ValueOrExpression<Long> value)
Sets the "disk-low-threshold" property.
|
void |
setJavaClass(ValueOrExpression<String> value)
Sets the "java-class" property.
|
void |
setJeProperty(Collection<ValueOrExpression<String>> values)
Sets the "je-property" property.
|
createBackendIndex, createBackendVlvIndex, getBackendIndex, getBackendVlvIndex, getBaseDn, getCipherKeyLength, getCipherTransformation, getImportOffheapMemorySize, getIndexEntryLimit, getIndexFilterAnalyzerMaxFilters, getPreloadTimeLimit, getWritabilityMode, isCompactEncoding, isConfidentialityEnabled, isEntriesCompressed, isIndexFilterAnalyzerEnabled, listBackendIndexes, listBackendVlvIndexes, removeBackendIndex, removeBackendVlvIndex, setBaseDn, setCipherKeyLength, setCipherTransformation, setCompactEncoding, setConfidentialityEnabled, setEntriesCompressed, setImportOffheapMemorySize, setIndexEntryLimit, setIndexFilterAnalyzerEnabled, setIndexFilterAnalyzerMaxFilters, setPreloadTimeLimit, setWritabilityMode
getBackendId, isEnabled, setBackendId, setEnabled
commit, properties
ManagedObjectDefinition<? extends JeBackendCfgClient,? extends JeBackendCfg> definition()
definition
in interface BackendCfgClient
definition
in interface ConfigurationClient
definition
in interface LocalBackendCfgClient
definition
in interface PluggableBackendCfgClient
ValueOrExpression<Integer> getDbCachePercent()
Specifies the percentage of JVM memory to allocate to the database cache.
Specifies the percentage of memory available to the JVM that should be used for caching database contents. Note that this is only used if the value of the db-cache-size property is set to "0 MB". Otherwise, the value of that property is used instead to control the cache size configuration.
void setDbCachePercent(ValueOrExpression<Integer> value) throws PropertyException
Specifies the percentage of JVM memory to allocate to the database cache.
Specifies the percentage of memory available to the JVM that should be used for caching database contents. Note that this is only used if the value of the db-cache-size property is set to "0 MB". Otherwise, the value of that property is used instead to control the cache size configuration.
value
- The value of the "db-cache-percent" property.PropertyException
- If the new value is invalid.ValueOrExpression<Long> getDbCacheSize()
The amount of JVM memory to allocate to the database cache.
Specifies the amount of memory that should be used for caching database contents. A value of "0 MB" indicates that the db-cache-percent property should be used instead to specify the cache size.
void setDbCacheSize(ValueOrExpression<Long> value) throws PropertyException
The amount of JVM memory to allocate to the database cache.
Specifies the amount of memory that should be used for caching database contents. A value of "0 MB" indicates that the db-cache-percent property should be used instead to specify the cache size.
value
- The value of the "db-cache-size" property.PropertyException
- If the new value is invalid.ValueOrExpression<Long> getDbCheckpointerBytesInterval()
Specifies the maximum number of bytes that may be written to the database before it is forced to perform a checkpoint.
This can be used to bound the recovery time that may be required if the database environment is opened without having been properly closed. If this property is set to a non-zero value, the checkpointer wakeup interval is not used. To use time-based checkpointing, set this property to zero.
void setDbCheckpointerBytesInterval(ValueOrExpression<Long> value) throws PropertyException
Specifies the maximum number of bytes that may be written to the database before it is forced to perform a checkpoint.
This can be used to bound the recovery time that may be required if the database environment is opened without having been properly closed. If this property is set to a non-zero value, the checkpointer wakeup interval is not used. To use time-based checkpointing, set this property to zero.
value
- The value of the "db-checkpointer-bytes-interval" property.PropertyException
- If the new value is invalid.ValueOrExpression<Long> getDbCheckpointerWakeupInterval()
Specifies the maximum length of time that may pass between checkpoints.
Note that this is only used if the value of the checkpointer bytes interval is zero.
void setDbCheckpointerWakeupInterval(ValueOrExpression<Long> value) throws PropertyException
Specifies the maximum length of time that may pass between checkpoints.
Note that this is only used if the value of the checkpointer bytes interval is zero.
value
- The value of the "db-checkpointer-wakeup-interval" property.PropertyException
- If the new value is invalid.ValueOrExpression<Integer> getDbCleanerMinUtilization()
Specifies the occupancy percentage for "live" data in this backend's database.
When the amount of "live" data in the database drops below this value, cleaners will act to increase the occupancy percentage by compacting the database.
void setDbCleanerMinUtilization(ValueOrExpression<Integer> value) throws PropertyException
Specifies the occupancy percentage for "live" data in this backend's database.
When the amount of "live" data in the database drops below this value, cleaners will act to increase the occupancy percentage by compacting the database.
value
- The value of the "db-cleaner-min-utilization" property.PropertyException
- If the new value is invalid.ValueOrExpression<String> getDbDirectory()
Specifies the path to the filesystem directory that is used to hold the Berkeley DB Java Edition database files containing the data for this backend.
The path may be either an absolute path or a path relative to the directory containing the base of the OpenDJ directory server installation. The path may be any valid directory path in which the server has appropriate permissions to read and write files and has sufficient space to hold the database contents.
void setDbDirectory(ValueOrExpression<String> value) throws PropertyException
Specifies the path to the filesystem directory that is used to hold the Berkeley DB Java Edition database files containing the data for this backend.
The path may be either an absolute path or a path relative to the directory containing the base of the OpenDJ directory server installation. The path may be any valid directory path in which the server has appropriate permissions to read and write files and has sufficient space to hold the database contents.
value
- The value of the "db-directory" property.PropertyException
- If the new value is invalid.ValueOrExpression<String> getDbDirectoryPermissions()
Specifies the permissions that should be applied to the directory containing the server database files.
They should be expressed as three-digit octal values, which is the traditional representation for UNIX file permissions. The three digits represent the permissions that are available for the directory's owner, group members, and other users (in that order), and each digit is the octal representation of the read, write, and execute bits. Note that this only impacts permissions on the database directory and not on the files written into that directory. On UNIX systems, the user's umask controls permissions given to the database files.
void setDbDirectoryPermissions(ValueOrExpression<String> value) throws PropertyException
Specifies the permissions that should be applied to the directory containing the server database files.
They should be expressed as three-digit octal values, which is the traditional representation for UNIX file permissions. The three digits represent the permissions that are available for the directory's owner, group members, and other users (in that order), and each digit is the octal representation of the read, write, and execute bits. Note that this only impacts permissions on the database directory and not on the files written into that directory. On UNIX systems, the user's umask controls permissions given to the database files.
value
- The value of the "db-directory-permissions" property.PropertyException
- If the new value is invalid.ValueOrExpression<JeBackendCfgDefn.DbDurability> getDbDurability()
Configures the durability level that will be used when committing a transaction.
High levels of durability offer a greater guarantee that the transaction is persisted to disk, but trade that off for lower performance.
void setDbDurability(ValueOrExpression<JeBackendCfgDefn.DbDurability> value) throws PropertyException
Configures the durability level that will be used when committing a transaction.
High levels of durability offer a greater guarantee that the transaction is persisted to disk, but trade that off for lower performance.
value
- The value of the "db-durability" property.PropertyException
- If the new value is invalid.ValueOrExpression<Integer> getDbEvictorCoreThreads()
Specifies the core number of threads in the eviction thread pool.
Specifies the core number of threads in the eviction thread pool. These threads help keep memory usage within cache bounds, offloading work from application threads. db-evictor-core-threads, db-evictor-max-threads and db-evictor-keep-alive are used to configure the core, max and keepalive attributes for the eviction thread pool.
void setDbEvictorCoreThreads(ValueOrExpression<Integer> value) throws PropertyException
Specifies the core number of threads in the eviction thread pool.
Specifies the core number of threads in the eviction thread pool. These threads help keep memory usage within cache bounds, offloading work from application threads. db-evictor-core-threads, db-evictor-max-threads and db-evictor-keep-alive are used to configure the core, max and keepalive attributes for the eviction thread pool.
value
- The value of the "db-evictor-core-threads" property.PropertyException
- If the new value is invalid.ValueOrExpression<Long> getDbEvictorKeepAlive()
The duration that excess threads in the eviction thread pool will stay idle. After this period, idle threads will terminate.
The duration that excess threads in the eviction thread pool will stay idle. After this period, idle threads will terminate. db-evictor-core-threads, db-evictor-max-threads and db-evictor-keep-alive are used to configure the core, max and keepalive attributes for the eviction thread pool.
void setDbEvictorKeepAlive(ValueOrExpression<Long> value) throws PropertyException
The duration that excess threads in the eviction thread pool will stay idle. After this period, idle threads will terminate.
The duration that excess threads in the eviction thread pool will stay idle. After this period, idle threads will terminate. db-evictor-core-threads, db-evictor-max-threads and db-evictor-keep-alive are used to configure the core, max and keepalive attributes for the eviction thread pool.
value
- The value of the "db-evictor-keep-alive" property.PropertyException
- If the new value is invalid.ValueOrExpression<Integer> getDbEvictorMaxThreads()
Specifies the maximum number of threads in the eviction thread pool.
Specifies the maximum number of threads in the eviction thread pool. These threads help keep memory usage within cache bounds, offloading work from application threads. db-evictor-core-threads, db-evictor-max-threads and db-evictor-keep-alive are used to configure the core, max and keepalive attributes for the eviction thread pool.
void setDbEvictorMaxThreads(ValueOrExpression<Integer> value) throws PropertyException
Specifies the maximum number of threads in the eviction thread pool.
Specifies the maximum number of threads in the eviction thread pool. These threads help keep memory usage within cache bounds, offloading work from application threads. db-evictor-core-threads, db-evictor-max-threads and db-evictor-keep-alive are used to configure the core, max and keepalive attributes for the eviction thread pool.
value
- The value of the "db-evictor-max-threads" property.PropertyException
- If the new value is invalid.ValueOrExpression<Integer> getDbLogFilecacheSize()
Specifies the size of the file handle cache.
The file handle cache is used to keep as much opened log files as possible. When the cache is smaller than the number of logs, the database needs to close some handles and open log files it needs, resulting in less optimal performances. Ideally, the size of the cache should be higher than the number of files contained in the database. Make sure the OS number of open files per process is also tuned appropriately.
void setDbLogFilecacheSize(ValueOrExpression<Integer> value) throws PropertyException
Specifies the size of the file handle cache.
The file handle cache is used to keep as much opened log files as possible. When the cache is smaller than the number of logs, the database needs to close some handles and open log files it needs, resulting in less optimal performances. Ideally, the size of the cache should be higher than the number of files contained in the database. Make sure the OS number of open files per process is also tuned appropriately.
value
- The value of the "db-log-filecache-size" property.PropertyException
- If the new value is invalid.ValueOrExpression<Long> getDbLogFileMax()
Specifies the maximum size of each individual database log file.
void setDbLogFileMax(ValueOrExpression<Long> value) throws PropertyException
Specifies the maximum size of each individual database log file.
value
- The value of the "db-log-file-max" property.PropertyException
- If the new value is invalid.ValueOrExpression<Boolean> isDbLoggingFileHandlerOn()
Indicates whether the database should maintain a je.info file in the same directory as the database log directory.
This file contains information about the internal processing performed by the underlying database.
void setDbLoggingFileHandlerOn(ValueOrExpression<Boolean> value) throws PropertyException
Indicates whether the database should maintain a je.info file in the same directory as the database log directory.
This file contains information about the internal processing performed by the underlying database.
value
- The value of the "db-logging-file-handler-on" property.PropertyException
- If the new value is invalid.ValueOrExpression<String> getDbLoggingLevel()
Specifies the log level that should be used by the database when it is writing information into the je.info file.
The database trace logging level is (in increasing order of verbosity) chosen from: OFF, SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST, ALL.
void setDbLoggingLevel(ValueOrExpression<String> value) throws PropertyException
Specifies the log level that should be used by the database when it is writing information into the je.info file.
The database trace logging level is (in increasing order of verbosity) chosen from: OFF, SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST, ALL.
value
- The value of the "db-logging-level" property.PropertyException
- If the new value is invalid.ValueOrExpression<String> getDbLogVerifierSchedule()
Specifies when the background log verifier should run if enabled. By default, verification is performed every day at midnight, local time.
The schedule is specified using a Crontab style format string as defined in https://en.wikipedia.org/wiki/Cron#Configuration_file. Note that times and dates are specified in local time, not UTC time. If the verifier is already running at the scheduled time, the scheduled run is skipped.
void setDbLogVerifierSchedule(ValueOrExpression<String> value) throws PropertyException
Specifies when the background log verifier should run if enabled. By default, verification is performed every day at midnight, local time.
The schedule is specified using a Crontab style format string as defined in https://en.wikipedia.org/wiki/Cron#Configuration_file. Note that times and dates are specified in local time, not UTC time. If the verifier is already running at the scheduled time, the scheduled run is skipped.
value
- The value of the "db-log-verifier-schedule" property.PropertyException
- If the new value is invalid.ValueOrExpression<Integer> getDbNumCleanerThreads()
Specifies the number of threads that the backend should maintain to keep the database log files at or near the desired utilization.
In environments with high write throughput, multiple cleaner threads may be required to maintain the desired utilization.
void setDbNumCleanerThreads(ValueOrExpression<Integer> value) throws PropertyException
Specifies the number of threads that the backend should maintain to keep the database log files at or near the desired utilization.
In environments with high write throughput, multiple cleaner threads may be required to maintain the desired utilization.
value
- The value of the "db-num-cleaner-threads" property.PropertyException
- If the new value is invalid.ValueOrExpression<Integer> getDbNumLockTables()
Specifies the number of lock tables that are used by the underlying database.
This can be particularly important to help improve scalability by avoiding contention on systems with large numbers of CPUs. The value of this configuration property should be set to a prime number that is less than or equal to the number of worker threads configured for use in the server.
void setDbNumLockTables(ValueOrExpression<Integer> value) throws PropertyException
Specifies the number of lock tables that are used by the underlying database.
This can be particularly important to help improve scalability by avoiding contention on systems with large numbers of CPUs. The value of this configuration property should be set to a prime number that is less than or equal to the number of worker threads configured for use in the server.
value
- The value of the "db-num-lock-tables" property.PropertyException
- If the new value is invalid.ValueOrExpression<Boolean> isDbRunCleaner()
Indicates whether the cleaner threads should be enabled to compact the database.
The cleaner threads are used to periodically compact the database when it reaches a percentage of occupancy lower than the amount specified by the db-cleaner-min-utilization property. They identify database files with a low percentage of live data, and relocate their remaining live data to the end of the log.
void setDbRunCleaner(ValueOrExpression<Boolean> value) throws PropertyException
Indicates whether the cleaner threads should be enabled to compact the database.
The cleaner threads are used to periodically compact the database when it reaches a percentage of occupancy lower than the amount specified by the db-cleaner-min-utilization property. They identify database files with a low percentage of live data, and relocate their remaining live data to the end of the log.
value
- The value of the "db-run-cleaner" property.PropertyException
- If the new value is invalid.ValueOrExpression<Boolean> isDbRunLogVerifier()
Indicates whether the background verifier should verify checksums in the database log.
If enabled, the entire log is periodically read sequentially and verified. The schedule can be controlled using the db-log-verifier-schedule property. If the verification process detects backend database corruption then the server logs an error message and the backend is taken offline. The corrupted backend should be restored from backup before it can be used again.
void setDbRunLogVerifier(ValueOrExpression<Boolean> value) throws PropertyException
Indicates whether the background verifier should verify checksums in the database log.
If enabled, the entire log is periodically read sequentially and verified. The schedule can be controlled using the db-log-verifier-schedule property. If the verification process detects backend database corruption then the server logs an error message and the backend is taken offline. The corrupted backend should be restored from backup before it can be used again.
value
- The value of the "db-run-log-verifier" property.PropertyException
- If the new value is invalid.ValueOrExpression<Long> getDiskFullThreshold()
Full disk threshold to limit database updates
When the available free space on the disk used by this database instance falls below the value specified, no updates are permitted and the server returns an UNWILLING_TO_PERFORM error. Updates are allowed again as soon as free space rises above the threshold.
void setDiskFullThreshold(ValueOrExpression<Long> value) throws PropertyException
Full disk threshold to limit database updates
When the available free space on the disk used by this database instance falls below the value specified, no updates are permitted and the server returns an UNWILLING_TO_PERFORM error. Updates are allowed again as soon as free space rises above the threshold.
value
- The value of the "disk-full-threshold" property.PropertyException
- If the new value is invalid.ValueOrExpression<Long> getDiskLowThreshold()
Low disk threshold to limit database updates
Specifies the "low" free space on the disk. When the available free space on the disk used by this database instance falls below the value specified, protocol updates on this database are permitted only by a user with the BYPASS_LOCKDOWN privilege.
void setDiskLowThreshold(ValueOrExpression<Long> value) throws PropertyException
Low disk threshold to limit database updates
Specifies the "low" free space on the disk. When the available free space on the disk used by this database instance falls below the value specified, protocol updates on this database are permitted only by a user with the BYPASS_LOCKDOWN privilege.
value
- The value of the "disk-low-threshold" property.PropertyException
- If the new value is invalid.ValueOrExpression<String> getJavaClass()
Specifies the fully-qualified name of the Java class that provides the backend implementation.
getJavaClass
in interface BackendCfgClient
void setJavaClass(ValueOrExpression<String> value) throws PropertyException
Specifies the fully-qualified name of the Java class that provides the backend implementation.
setJavaClass
in interface BackendCfgClient
value
- The value of the "java-class" property.PropertyException
- If the new value is invalid.SortedSet<ValueOrExpression<String>> getJeProperty()
Specifies the database and environment properties for the Berkeley DB Java Edition database serving the data for this backend.
Any Berkeley DB Java Edition property can be specified using the following form: property-name=property-value. Refer to OpenDJ documentation for further information on related properties, their implications, and range values. The definitive identification of all the property parameters is available in the example.properties file of Berkeley DB Java Edition distribution.
void setJeProperty(Collection<ValueOrExpression<String>> values) throws PropertyException
Specifies the database and environment properties for the Berkeley DB Java Edition database serving the data for this backend.
Any Berkeley DB Java Edition property can be specified using the following form: property-name=property-value. Refer to OpenDJ documentation for further information on related properties, their implications, and range values. The definitive identification of all the property parameters is available in the example.properties file of Berkeley DB Java Edition distribution.
values
- The values of the "je-property" property.PropertyException
- If one or more of the new values are invalid.Copyright 2010-2018 ForgeRock AS.