Class RAMAccessManager
- java.lang.Object
-
- org.apache.derby.impl.store.access.RAMAccessManager
-
- All Implemented Interfaces:
- CacheableFactory, ModuleControl, PropertySetCallback, AccessFactory
- Direct Known Subclasses:
- RllRAMAccessManager
public abstract class RAMAccessManager extends java.lang.Object implements AccessFactory, CacheableFactory, ModuleControl, PropertySetCallback
-
-
Field Summary
-
Fields inherited from interface org.apache.derby.iapi.store.access.AccessFactory
MODULE
-
-
Constructor Summary
Constructors Constructor and Description RAMAccessManager()Constructors for This class:
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description Serviceableapply(java.lang.String key, java.io.Serializable value, java.util.Dictionary p)Apply a property change.voidbackup(java.lang.String backupDir, boolean wait)Backup the database to backupDir.voidbackupAndEnableLogArchiveMode(java.lang.String backupDir, boolean deleteOnlineArchivedLogFiles, boolean wait)Backup the database to a backup directory and enable the log archive mode that will keep the archived log files required for roll-forward from this version backup.voidboot(boolean create, java.util.Properties startParams)Public Methods implementing ModuleControl Interface:voidcheckpoint()Checkpoints the database, that is, flushes all dirty data to disk.voidcreateFinished()Database creation finished.voidcreateReadMeFiles()DERBY-5996(Create readme files (cautioning users against modifying database files) at database hard upgrade time) This gets called during hard upgrade.voiddisableLogArchiveMode(boolean deleteOnlineArchivedLogFiles)disables the log archival process, i.e No old log files will be kept around for a roll-forward recovery.voidfailover(java.lang.String dbname)Start the failover for this database.MethodFactoryfindMethodFactoryByFormat(UUID format)Find an access method that implements a format type.MethodFactoryfindMethodFactoryByImpl(java.lang.String impltype)Find an access method that implements an implementation type.voidfreeze()Freeze the database temporarily so a backup can be taken.TransactionControllergetAndNameTransaction(ContextManager cm, java.lang.String transName)Get a transaction.LockFactorygetLockFactory()Get the LockFactory to use with this store.TransactionControllergetTransaction(ContextManager cm)Get a transaction controller with which to manipulate data within the access manager.TransactionInfo[]getTransactionInfo()Return a snap shot of all transactions in the db.java.lang.ObjectgetXAResourceManager()Return the XAResourceManager associated with this AccessFactory.voidinit(boolean dbOnly, java.util.Dictionary p)Initialize the properties for this callback.booleanisReadOnly()Is the store read-only.java.io.Serializablemap(java.lang.String key, java.io.Serializable value, java.util.Dictionary p)Map a proposed new value for a property to an official value.CacheablenewCacheable(CacheManager cm)voidregisterAccessMethod(MethodFactory factory)Register an access method that this access manager can use.voidstartReplicationMaster(java.lang.String dbmaster, java.lang.String host, int port, java.lang.String replicationMode)Start the replication master role for this database.java.lang.ObjectstartXATransaction(ContextManager cm, int format_id, byte[] global_id, byte[] branch_id)Start a global transaction.voidstop()Stop the module.voidstopReplicationMaster()Stop the replication master role for this database.voidunfreeze()Unfreeze the database after a backup has been taken.booleanvalidate(java.lang.String key, java.io.Serializable value, java.util.Dictionary p)Validate a property change.voidwaitForPostCommitToFinishWork()
-
-
-
Method Detail
-
createFinished
public void createFinished() throws StandardExceptionDatabase creation finished. Tell RawStore.- Specified by:
createFinishedin interfaceAccessFactory- Throws:
StandardException- standard Derby error policy
-
findMethodFactoryByFormat
public MethodFactory findMethodFactoryByFormat(UUID format)
Find an access method that implements a format type.- Specified by:
findMethodFactoryByFormatin interfaceAccessFactory- See Also:
AccessFactory.findMethodFactoryByFormat(org.apache.derby.catalog.UUID)
-
findMethodFactoryByImpl
public MethodFactory findMethodFactoryByImpl(java.lang.String impltype) throws StandardException
Find an access method that implements an implementation type.- Specified by:
findMethodFactoryByImplin interfaceAccessFactory- Throws:
StandardException- Standard exception policy.- See Also:
AccessFactory.findMethodFactoryByImpl(java.lang.String)
-
getLockFactory
public LockFactory getLockFactory()
Description copied from interface:AccessFactoryGet the LockFactory to use with this store.- Specified by:
getLockFactoryin interfaceAccessFactory- Returns:
- The lock factory to use with this store.
-
getTransaction
public TransactionController getTransaction(ContextManager cm) throws StandardException
Description copied from interface:AccessFactoryGet a transaction controller with which to manipulate data within the access manager. Implicitly creates an access context if one does not already exist.- Specified by:
getTransactionin interfaceAccessFactory- Parameters:
cm- The context manager for the current context.- Throws:
StandardException- Standard exception policy.- See Also:
TransactionController
-
getAndNameTransaction
public TransactionController getAndNameTransaction(ContextManager cm, java.lang.String transName) throws StandardException
Description copied from interface:AccessFactoryGet a transaction. If a new transaction is implicitly created, give it name transName.- Specified by:
getAndNameTransactionin interfaceAccessFactory- Parameters:
cm- The context manager for the current context.transName- If a new transaction is started, it will be given this name. The name is displayed in the transactiontable VTI.- Throws:
StandardException- Standard exception policy.- See Also:
TransactionController,AccessFactory.getTransaction(org.apache.derby.iapi.services.context.ContextManager)
-
startXATransaction
public java.lang.Object startXATransaction(ContextManager cm, int format_id, byte[] global_id, byte[] branch_id) throws StandardException
Start a global transaction.Get a transaction controller with which to manipulate data within the access manager. Implicitly creates an access context.
Must only be called if no other transaction context exists in the current context manager. If another transaction exists in the context an exception will be thrown.
The (format_id, global_id, branch_id) triplet is meant to come exactly from a javax.transaction.xa.Xid. We don't use Xid so that the system can be delivered on a non-1.2 vm system and not require the javax classes in the path.
- Specified by:
startXATransactionin interfaceAccessFactory- Parameters:
cm- The context manager for the current context.format_id- the format id part of the Xid - ie. Xid.getFormatId().global_id- the global transaction identifier part of XID - ie. Xid.getGlobalTransactionId().branch_id- The branch qualifier of the Xid - ie. Xid.getBranchQaulifier()- Throws:
StandardException- Standard exception policy.- See Also:
TransactionController
-
getXAResourceManager
public java.lang.Object getXAResourceManager() throws StandardExceptionReturn the XAResourceManager associated with this AccessFactory.Returns an object which can be used to implement the "offline" 2 phase commit interaction between the accessfactory and outstanding transaction managers taking care of in-doubt transactions.
- Specified by:
getXAResourceManagerin interfaceAccessFactory- Returns:
- The XAResourceManager associated with this accessfactory.
- Throws:
StandardException- Standard exception policy.
-
registerAccessMethod
public void registerAccessMethod(MethodFactory factory)
Description copied from interface:AccessFactoryRegister an access method that this access manager can use.- Specified by:
registerAccessMethodin interfaceAccessFactory
-
isReadOnly
public boolean isReadOnly()
Description copied from interface:AccessFactoryIs the store read-only.- Specified by:
isReadOnlyin interfaceAccessFactory
-
createReadMeFiles
public void createReadMeFiles() throws StandardExceptionDERBY-5996(Create readme files (cautioning users against modifying database files) at database hard upgrade time) This gets called during hard upgrade. It will create 3 readme files one in database directory, one in "seg0" directory and one in log directory. These readme files warn users against touching any of files associated with derby database- Specified by:
createReadMeFilesin interfaceAccessFactory- Throws:
StandardException
-
getTransactionInfo
public TransactionInfo[] getTransactionInfo()
Description copied from interface:AccessFactoryReturn a snap shot of all transactions in the db.Take a snap shot of all transactions currently in the database and make a record of their information.
- Specified by:
getTransactionInfoin interfaceAccessFactory- Returns:
- an array of TransactionInfo, or null if there is no transaction in the database.
-
startReplicationMaster
public void startReplicationMaster(java.lang.String dbmaster, java.lang.String host, int port, java.lang.String replicationMode) throws StandardExceptionStart the replication master role for this database.- Specified by:
startReplicationMasterin interfaceAccessFactory- Parameters:
dbmaster- The master database that is being replicated.host- The hostname for the slaveport- The port the slave is listening onreplicationMode- The type of replication contract. Currently only asynchronous replication is supported, but 1-safe/2-safe/very-safe modes may be added later.- Throws:
StandardException- Standard Derby exception policy, thrown on error.
-
failover
public void failover(java.lang.String dbname) throws StandardExceptionDescription copied from interface:AccessFactoryStart the failover for this database.- Specified by:
failoverin interfaceAccessFactory- Parameters:
dbname- the replication database that is being failed over.- Throws:
StandardException- Standard Derby exception policy, 1) If the failover succeeds, an exception is thrown to indicate that the master database was shutdown after a successful failover 2) If a failure occurs during network communication with slave.- See Also:
AccessFactory.failover(String dbname).
-
stopReplicationMaster
public void stopReplicationMaster() throws StandardExceptionStop the replication master role for this database.- Specified by:
stopReplicationMasterin interfaceAccessFactory- Throws:
StandardException- Standard Derby exception policy, thrown on error.
-
freeze
public void freeze() throws StandardExceptionDescription copied from interface:AccessFactoryFreeze the database temporarily so a backup can be taken.Please see Derby on line documentation on backup and restore.
- Specified by:
freezein interfaceAccessFactory- Throws:
StandardException- Thrown on error
-
unfreeze
public void unfreeze() throws StandardExceptionDescription copied from interface:AccessFactoryUnfreeze the database after a backup has been taken.Please see Derby on line documentation on backup and restore.
- Specified by:
unfreezein interfaceAccessFactory- Throws:
StandardException- Thrown on error
-
backup
public void backup(java.lang.String backupDir, boolean wait) throws StandardExceptionDescription copied from interface:AccessFactoryBackup the database to backupDir.Please see Derby on line documentation on backup and restore.
- Specified by:
backupin interfaceAccessFactory- Parameters:
backupDir- the name of the directory where the backup should be stored.wait- if true, waits for all the backup blocking operations in progress to finish.- Throws:
StandardException- Thrown on error
-
backupAndEnableLogArchiveMode
public void backupAndEnableLogArchiveMode(java.lang.String backupDir, boolean deleteOnlineArchivedLogFiles, boolean wait) throws StandardExceptionDescription copied from interface:AccessFactoryBackup the database to a backup directory and enable the log archive mode that will keep the archived log files required for roll-forward from this version backup.- Specified by:
backupAndEnableLogArchiveModein interfaceAccessFactory- Parameters:
backupDir- the directory name where the database backup should go. This directory will be created if not it does not exist.deleteOnlineArchivedLogFiles- If true deletes online archived log files that exist before this backup, delete will occur only after backup is complete.wait- if true, waits for all the backup blocking operations in progress to finish.- Throws:
StandardException- Thrown on error
-
disableLogArchiveMode
public void disableLogArchiveMode(boolean deleteOnlineArchivedLogFiles) throws StandardExceptionDescription copied from interface:AccessFactorydisables the log archival process, i.e No old log files will be kept around for a roll-forward recovery.- Specified by:
disableLogArchiveModein interfaceAccessFactory- Parameters:
deleteOnlineArchivedLogFiles- If true deletes all online archived log files that exist before this call immediately; Only restore that can be performed after disabling log archive mode is version recovery.- Throws:
StandardException- Thrown on error
-
checkpoint
public void checkpoint() throws StandardExceptionDescription copied from interface:AccessFactoryCheckpoints the database, that is, flushes all dirty data to disk. Records a checkpoint in the transaction log, if there is a log.- Specified by:
checkpointin interfaceAccessFactory- Throws:
StandardException- Thrown on error
-
waitForPostCommitToFinishWork
public void waitForPostCommitToFinishWork()
- Specified by:
waitForPostCommitToFinishWorkin interfaceAccessFactory
-
boot
public void boot(boolean create, java.util.Properties startParams) throws StandardExceptionPublic Methods implementing ModuleControl Interface:- Specified by:
bootin interfaceModuleControl- Throws:
StandardException- Module cannot be started.- See Also:
Monitor,ModuleFactory
-
stop
public void stop()
Description copied from interface:ModuleControlStop the module. The module may be found via a findModule() method until some time after this method returns. Therefore the factory must be prepared to reject requests to it once it has been stopped. In addition other modules may cache a reference to the module and make requests of it after it has been stopped, these requests should be rejected as well.- Specified by:
stopin interfaceModuleControl- See Also:
Monitor,ModuleFactory
-
init
public void init(boolean dbOnly, java.util.Dictionary p)Description copied from interface:PropertySetCallbackInitialize the properties for this callback. Called when addPropertySetNotification() is called with a non-null transaction controller. This allows code to set read its initial property values at boot time.Code within an init() method should use the 3 argument PropertyUtil method getPropertyFromSet() to obtain a property's value.
- Specified by:
initin interfacePropertySetCallback- Parameters:
dbOnly- true if only per-database properties are to be looked atp- the complete set of per-database properties.
-
validate
public boolean validate(java.lang.String key, java.io.Serializable value, java.util.Dictionary p) throws StandardExceptionDescription copied from interface:PropertySetCallbackValidate a property change.- Specified by:
validatein interfacePropertySetCallback- Parameters:
key- Property key for the property being setvalue- proposed new value for the property being set or null if the property is being dropped.p- Property set before the change. SettingProperty may read but must never change p.- Returns:
- true if this object was interested in this property, false otherwise.
- Throws:
StandardException- Oh well.
-
apply
public Serviceable apply(java.lang.String key, java.io.Serializable value, java.util.Dictionary p) throws StandardException
Description copied from interface:PropertySetCallbackApply a property change. Will only be called after validate has been called and only if validate returned true. If this method is called then the new value is the value to be used, ie. the property is not set in the overriding JVM system set.- Specified by:
applyin interfacePropertySetCallback- Parameters:
key- Property key for the property being setvalue- proposed new value for the property being set or null if the property is being dropped.p- Property set before the change. SettingProperty may read but must never change p.- Returns:
- post commit work for the property change.
- Throws:
StandardException- Oh well.
-
map
public java.io.Serializable map(java.lang.String key, java.io.Serializable value, java.util.Dictionary p) throws StandardExceptionDescription copied from interface:PropertySetCallbackMap a proposed new value for a property to an official value. Will only be called after apply() has been called.- Specified by:
mapin interfacePropertySetCallback- Parameters:
key- Property key for the property being setvalue- proposed new value for the property being set or null if the property is being dropped.p- Property set before the change. SettingProperty may read but must never change p.- Returns:
- new value for the change
- Throws:
StandardException- Oh well.
-
newCacheable
public Cacheable newCacheable(CacheManager cm)
- Specified by:
newCacheablein interfaceCacheableFactory
-
-
DataMelt 3.0 © DataMelt by jWork.ORG