public final class JEStorage extends Object implements Storage, Backupable, org.forgerock.opendj.config.server.ConfigurationChangeListener<org.forgerock.opendj.server.config.server.JeBackendCfg>, DiskSpaceMonitorHandler
Storage
engine.Modifier and Type | Method and Description |
---|---|
void |
afterRestore(Path restoreDirectory,
Path saveDirectory)
Called after the restore operation has finished successfully.
|
org.forgerock.opendj.config.server.ConfigChangeResult |
applyConfigurationChange(org.forgerock.opendj.server.config.server.JeBackendCfg cfg) |
Path |
beforeRestore()
Called before the restore operation begins.
|
void |
close() |
void |
createBackup(BackupConfig backupConfig)
Creates a backup for this storage.
|
void |
diskFullThresholdReached(File directory,
long thresholdInBytes)
Notifies that the registered "full" threshold have been reached.
|
void |
diskLowThresholdReached(File directory,
long thresholdInBytes)
Notifies that the registered "low" threshold have been reached.
|
void |
diskSpaceRestored(File directory,
long lowThresholdInBytes,
long fullThresholdInBytes)
Notifies that the free disk space is now above both "low" and "full" thresholds.
|
File |
getDirectory()
Returns the directory which acts as the root of all files to backup and restore.
|
ListIterator<Path> |
getFilesToBackup()
Returns the files to backup.
|
StorageStatus |
getStorageStatus()
Returns the current status of the storage.
|
boolean |
isConfigurationChangeAcceptable(org.forgerock.opendj.server.config.server.JeBackendCfg newCfg,
List<LocalizableMessage> unacceptableReasons) |
boolean |
isDirectRestore()
Indicates if restore is done directly in the restore directory.
|
Set<TreeName> |
listTrees()
Lists the trees that exist in this storage.
|
void |
open(AccessMode accessMode)
Opens the storage engine to allow executing operations on it.
|
<T> T |
read(ReadOperation<T> operation)
Executes a read operation.
|
void |
removeBackup(BackupDirectory backupDirectory,
String backupID)
Removes a backup for this storage.
|
void |
removeStorageFiles()
Remove all files for a backend of this storage.
|
void |
restoreBackup(RestoreConfig restoreConfig)
Restores a backup for this storage.
|
Importer |
startImport()
Starts the import operation.
|
boolean |
supportsBackupAndRestore()
Returns
true if this storage supports backup and restore. |
void |
write(WriteOperation operation)
Executes a write operation.
|
public void close()
public void open(AccessMode accessMode) throws org.forgerock.opendj.config.server.ConfigException, StorageRuntimeException
Storage
open
in interface Storage
accessMode
- Specify the access mode to this storage.org.forgerock.opendj.config.server.ConfigException
StorageRuntimeException
to release all resources once import is finished
public <T> T read(ReadOperation<T> operation) throws Exception
Storage
public Importer startImport() throws org.forgerock.opendj.config.server.ConfigException, StorageRuntimeException
Storage
startImport
in interface Storage
org.forgerock.opendj.config.server.ConfigException
- if there is a problem with the configurationStorageRuntimeException
- if a problem occurs with the underlying storage engineto release all resources once import is finished
public void write(WriteOperation operation) throws Exception
Storage
public boolean supportsBackupAndRestore()
Storage
true
if this storage supports backup and restore.supportsBackupAndRestore
in interface Storage
true
if this storage supports backup and restore.public File getDirectory()
Backupable
getDirectory
in interface Backupable
public ListIterator<Path> getFilesToBackup() throws DirectoryException
Backupable
getFilesToBackup
in interface Backupable
null
DirectoryException
- If an error occurs.public Path beforeRestore() throws DirectoryException
Backupable
In case of direct restore, the backupable entity should take any action to save a copy of existing data before restore operation. Saving includes removing the existing data and copying it in a save directory.
beforeRestore
in interface Backupable
null
if not applicable.DirectoryException
- If an error occurs.public boolean isDirectRestore()
Backupable
isDirectRestore
in interface Backupable
true
if restore is done directly in the restore directory
provided by getDirectory()
method, or false
if restore
is done in a temporary directory.public void afterRestore(Path restoreDirectory, Path saveDirectory) throws DirectoryException
Backupable
For direct restore, the backupable entity can safely discard the saved copy. For indirect restore, the backupable entity should switch the restored directory to the final restore directory.
afterRestore
in interface Backupable
restoreDirectory
- The directory in which files have actually been restored. It is never
null
.saveDirectory
- The directory in which current files have been saved. It may be
null
if beforeRestore()
returned null
.DirectoryException
- If an error occurs.public void createBackup(BackupConfig backupConfig) throws DirectoryException
Storage
createBackup
in interface Storage
backupConfig
- The configuration to use when performing the backup.DirectoryException
- If a Directory Server error occurs.public void removeBackup(BackupDirectory backupDirectory, String backupID) throws DirectoryException
Storage
removeBackup
in interface Storage
backupDirectory
- The backup directory structure with which the specified backup is
associated.backupID
- The backup ID for the backup to be removed.DirectoryException
- If it is not possible to remove the specified backup.public void restoreBackup(RestoreConfig restoreConfig) throws DirectoryException
Storage
restoreBackup
in interface Storage
restoreConfig
- The configuration to use when performing the restore.DirectoryException
- If a Directory Server error occurs.public Set<TreeName> listTrees()
Storage
public boolean isConfigurationChangeAcceptable(org.forgerock.opendj.server.config.server.JeBackendCfg newCfg, List<LocalizableMessage> unacceptableReasons)
isConfigurationChangeAcceptable
in interface org.forgerock.opendj.config.server.ConfigurationChangeListener<org.forgerock.opendj.server.config.server.JeBackendCfg>
public org.forgerock.opendj.config.server.ConfigChangeResult applyConfigurationChange(org.forgerock.opendj.server.config.server.JeBackendCfg cfg)
applyConfigurationChange
in interface org.forgerock.opendj.config.server.ConfigurationChangeListener<org.forgerock.opendj.server.config.server.JeBackendCfg>
public void removeStorageFiles() throws StorageRuntimeException
Storage
removeStorageFiles
in interface Storage
StorageRuntimeException
- if removal failspublic StorageStatus getStorageStatus()
Storage
getStorageStatus
in interface Storage
public void diskFullThresholdReached(File directory, long thresholdInBytes)
DiskSpaceMonitorHandler
diskFullThresholdReached
in interface DiskSpaceMonitorHandler
directory
- the directory for which the threshold has been triggeredthresholdInBytes
- the threshold value in bytespublic void diskLowThresholdReached(File directory, long thresholdInBytes)
DiskSpaceMonitorHandler
diskLowThresholdReached
in interface DiskSpaceMonitorHandler
directory
- the directory for which the threshold has been triggeredthresholdInBytes
- the threshold value in bytespublic void diskSpaceRestored(File directory, long lowThresholdInBytes, long fullThresholdInBytes)
DiskSpaceMonitorHandler
diskSpaceRestored
in interface DiskSpaceMonitorHandler
directory
- the directory for which the threshold has been triggeredTODOlowThresholdInBytes
- the low threshold value in bytesfullThresholdInBytes
- the full threshold value in bytesCopyright © 2010-2017 ForgeRock AS. All Rights Reserved.