Package org.firebirdsql.management
Class FBStreamingBackupManager
- java.lang.Object
-
- org.firebirdsql.management.FBServiceManager
-
- org.firebirdsql.management.FBBackupManagerBase
-
- org.firebirdsql.management.FBStreamingBackupManager
-
- All Implemented Interfaces:
AttachmentProperties
,BaseProperties
,ServiceConnectionProperties
,BackupManager
,ServiceManager
public class FBStreamingBackupManager extends FBBackupManagerBase implements BackupManager
Implements the streaming version of the backup and restore functionality of Firebird Services API.- Author:
- Roman Rokytskyy, Mark Rotteveel
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.firebirdsql.management.FBBackupManagerBase
FBBackupManagerBase.PathSizeStruct
-
-
Field Summary
-
Fields inherited from class org.firebirdsql.management.FBBackupManagerBase
noLimitRestore, restorePaths, verbose
-
Fields inherited from class org.firebirdsql.management.FBServiceManager
BUFFER_SIZE
-
Fields inherited from interface org.firebirdsql.management.BackupManager
BACKUP_CONVERT, BACKUP_EXPAND, BACKUP_IGNORE_CHECKSUMS, BACKUP_IGNORE_LIMBO, BACKUP_METADATA_ONLY, BACKUP_NO_GARBAGE_COLLECT, BACKUP_NON_TRANSPORTABLE, BACKUP_OLD_DESCRIPTIONS, RESTORE_DEACTIVATE_INDEX, RESTORE_NO_SHADOW, RESTORE_NO_VALIDITY, RESTORE_ONE_AT_A_TIME, RESTORE_USE_ALL_SPACE
-
-
Constructor Summary
Constructors Constructor Description FBStreamingBackupManager()
Create a new instance ofFBStreamingBackupManager
based on the default GDSType.FBStreamingBackupManager(java.lang.String gdsType)
Create a new instance ofFBStreamingBackupManager
based on a given GDSType.FBStreamingBackupManager(GDSType gdsType)
Create a new instance ofFBStreamingBackupManager
based on a given GDSType.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addBackupPath(java.lang.String path, int size)
Add the file to the backup of the specified size.protected void
addBackupsToBackupRequestBuffer(FbService service, ServiceRequestBuffer backupSPB)
Adds stdout as a source for the backup operationprotected void
addBackupsToRestoreRequestBuffer(FbService service, ServiceRequestBuffer restoreSPB)
Adds stdin as a source for the restore operationvoid
backupDatabase(int options)
Perform the backup operation.void
clearBackupPaths()
Clear the information about backup paths.void
restoreDatabase(int options)
Perform the restore operation.void
setBackupBufferSize(int bufferSize)
Set the local buffer size to be used when doing a backup.void
setBackupOutputStream(java.io.OutputStream backupStream)
void
setBackupPath(java.lang.String backupPath)
Sets the location of the backup file.void
setRestoreInputStream(java.io.InputStream restoreStream)
void
setRestorePageSize(int pageSize)
Set the page size that will be used for a restored database.protected boolean
verboseBackup()
Streaming backups are currently not capable of verbose output-
Methods inherited from class org.firebirdsql.management.FBBackupManagerBase
addBackupPath, addRestorePath, backupDatabase, backupMetadata, clearRestorePaths, getBackupSRB, getRestoreSRB, restoreDatabase, setDatabase, setRestorePageBufferCount, setRestoreReadOnly, setRestoreReplace, setVerbose
-
Methods inherited from class org.firebirdsql.management.FBServiceManager
attachDatabase, attachServiceManager, connectionPropertyValues, createRequestBuffer, executeServicesOperation, executeServicesOperation, getAuthPlugins, getBooleanProperty, getCharSet, getDatabase, getDbCryptConfig, getExpectedDb, getHost, getIntProperty, getLogger, getPassword, getPort, getPortNumber, getProperty, getServerName, getServerVersion, getServiceName, getUser, getWireCrypt, getWireCryptAsEnum, isWireCompression, queueService, setAuthPlugins, setBooleanProperty, setCharSet, setDbCryptConfig, setExpectedDb, setHost, setIntProperty, setLogger, setPassword, setPort, setPortNumber, setProperty, setServerName, setServiceName, setType, setUser, setWireCompression, setWireCryptAsEnum
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.firebirdsql.jaybird.props.AttachmentProperties
getAuthPlugins, getCharSet, getConnectTimeout, getDbCryptConfig, getEncoding, getParallelWorkers, getPassword, getPortNumber, getProcessId, getProcessName, getRoleName, getServerName, getSocketBufferSize, getSoTimeout, getType, getUser, getWireCrypt, isWireCompression, setAuthPlugins, setCharSet, setConnectTimeout, setDbCryptConfig, setEncoding, setParallelWorkers, setPassword, setPortNumber, setProcessId, setProcessName, setRoleName, setServerName, setSocketBufferSize, setSoTimeout, setType, setUser, setWireCompression, setWireCrypt
-
Methods inherited from interface org.firebirdsql.management.BackupManager
addBackupPath, addRestorePath, backupDatabase, backupMetadata, clearRestorePaths, restoreDatabase, setDatabase, setRestorePageBufferCount, setRestoreReadOnly, setRestoreReplace, setVerbose
-
Methods inherited from interface org.firebirdsql.jaybird.props.BaseProperties
connectionPropertyValues, getBooleanProperty, getBooleanProperty, getIntProperty, getIntProperty, getProperty, getProperty, setBooleanProperty, setIntProperty, setProperty
-
Methods inherited from interface org.firebirdsql.jaybird.props.ServiceConnectionProperties
getExpectedDb, getServiceName, setExpectedDb, setServiceName
-
Methods inherited from interface org.firebirdsql.management.ServiceManager
getDatabase, getHost, getLogger, getPort, getServerVersion, getWireCryptAsEnum, setHost, setLogger, setPort, setWireCryptAsEnum
-
-
-
-
Constructor Detail
-
FBStreamingBackupManager
public FBStreamingBackupManager()
Create a new instance ofFBStreamingBackupManager
based on the default GDSType.
-
FBStreamingBackupManager
public FBStreamingBackupManager(java.lang.String gdsType)
Create a new instance ofFBStreamingBackupManager
based on a given GDSType.- Parameters:
gdsType
- type must be PURE_JAVA, EMBEDDED, or NATIVE
-
FBStreamingBackupManager
public FBStreamingBackupManager(GDSType gdsType)
Create a new instance ofFBStreamingBackupManager
based on a given GDSType.- Parameters:
gdsType
- type must be PURE_JAVA, EMBEDDED, or NATIVE
-
-
Method Detail
-
setBackupBufferSize
public void setBackupBufferSize(int bufferSize)
Set the local buffer size to be used when doing a backup. Default is 30720- Parameters:
bufferSize
- The buffer size to be used, a positive value
-
setBackupPath
public void setBackupPath(java.lang.String backupPath)
Description copied from interface:BackupManager
Sets the location of the backup file. This method is used to set the path to the backup consisting of a single file. It is not possible to add multiple files or specify the max. size of the file using this method. It is also not possible to callBackupManager.addBackupPath(String, int)
method after calling this one.- Specified by:
setBackupPath
in interfaceBackupManager
- Parameters:
backupPath
- the location of the backup file.- See Also:
for multi-file backups.
-
addBackupPath
public void addBackupPath(java.lang.String path, int size)
Description copied from interface:BackupManager
Add the file to the backup of the specified size. Firebird allows splitting the backup into multiple files, limiting the size of the backup file. This can be useful for example for creating a backup on CD or DVD.- Specified by:
addBackupPath
in interfaceBackupManager
- Parameters:
path
- path to the backup file.size
- max size of the file in bytes.
-
setBackupOutputStream
public void setBackupOutputStream(java.io.OutputStream backupStream)
-
setRestoreInputStream
public void setRestoreInputStream(java.io.InputStream restoreStream)
-
clearBackupPaths
public void clearBackupPaths()
Description copied from interface:BackupManager
Clear the information about backup paths. This method undoes all parameters set in theBackupManager.addBackupPath(String, int)
orBackupManager.addBackupPath(String)
methods.- Specified by:
clearBackupPaths
in interfaceBackupManager
-
backupDatabase
public void backupDatabase(int options) throws java.sql.SQLException
Description copied from interface:BackupManager
Perform the backup operation.- Specified by:
backupDatabase
in interfaceBackupManager
- Parameters:
options
- a bitmask combination of theBACKUP_*
constants for the backup operation- Throws:
java.sql.SQLException
- if a database error occurs during the backup
-
restoreDatabase
public void restoreDatabase(int options) throws java.sql.SQLException
Description copied from interface:BackupManager
Perform the restore operation.- Specified by:
restoreDatabase
in interfaceBackupManager
- Parameters:
options
- A bitmask combination ofRESTORE_*
constants- Throws:
java.sql.SQLException
- if a database error occurs during the restore
-
verboseBackup
protected boolean verboseBackup()
Streaming backups are currently not capable of verbose output- Specified by:
verboseBackup
in classFBBackupManagerBase
-
setRestorePageSize
public void setRestorePageSize(int pageSize)
Set the page size that will be used for a restored database. The value forpageSize
must be one at least 4096, see alsPageSizeConstants
. The default value depends on the Firebird version. Pages smaller than 4096 were dropped in 2006 and are by definition unavailable with the streaming functionality of the Services API- Specified by:
setRestorePageSize
in interfaceBackupManager
- Overrides:
setRestorePageSize
in classFBBackupManagerBase
- Parameters:
pageSize
- The page size to be used in a restored database, seePageSizeConstants
with a minimum of 4096- See Also:
PageSizeConstants
-
addBackupsToBackupRequestBuffer
protected void addBackupsToBackupRequestBuffer(FbService service, ServiceRequestBuffer backupSPB)
Adds stdout as a source for the backup operation- Specified by:
addBackupsToBackupRequestBuffer
in classFBBackupManagerBase
- Parameters:
backupSPB
- The buffer to be used during the backup operation
-
addBackupsToRestoreRequestBuffer
protected void addBackupsToRestoreRequestBuffer(FbService service, ServiceRequestBuffer restoreSPB)
Adds stdin as a source for the restore operation- Specified by:
addBackupsToRestoreRequestBuffer
in classFBBackupManagerBase
- Parameters:
restoreSPB
- The buffer to be used during the restore operation
-
-