クラス org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog

org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLogに対する継承グラフ

Inheritance graph
[凡例]
すべてのメンバ一覧

説明

Log Recovery is responsible for logging performed queries, managing checkpoints and retrieving write requests executed from a given checkpoint.

作者:
Emmanuel Cecchet

Julie Marguerite

バージョン:
1.0

AbstractRecoveryLog.java46 行で定義されています。

Public メソッド

abstract void logRequest (AbstractWriteRequest request) throws SQLException
abstract void logRequest (StoredProcedure proc, boolean isRead) throws SQLException
abstract long getLastTransactionId () throws SQLException
abstract void begin (TransactionMarkerMetaData tm) throws SQLException
abstract void commit (TransactionMarkerMetaData tm) throws SQLException
abstract void rollback (TransactionMarkerMetaData tm) throws SQLException
abstract void storeCheckpoint (String checkpointName) throws SQLException
abstract void storeCheckpoint (String checkpointName, long requestId) throws SQLException
abstract void removeCheckpoint (String checkpointName) throws SQLException
abstract long getCheckpointRequestId (String checkpointName) throws SQLException
abstract RecoveryTask recoverNextRequest (long previousRequestId) throws SQLException
synchronized void beginRecovery ()
synchronized void endRecovery ()
synchronized boolean isRecovering ()
abstract void cleanRecoveryLog () throws SQLException
String getXml ()
abstract String getXmlImpl ()
abstract ArrayList getCheckpointNames () throws SQLException
abstract void storeBackendCheckpoint (String databaseName, String backendName, String checkpoint) throws SQLException
abstract String getBackendCheckpoint (String databaseName, String backendName) throws SQLException

スタティック変数

Trace logger

Private 変数

long recoveringNb = 0


メソッド

abstract void org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.begin TransactionMarkerMetaData  tm  )  throws SQLException [pure virtual]
 

Log the beginning of a new transaction.

引数:
tm The transaction marker metadata
例外:
SQLException if an error occurs

org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLogを実装しています.

参照元 org.objectweb.cjdbc.controller.requestmanager.distributed.DistributedRequestManager.begin().

synchronized void org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.beginRecovery  ) 
 

Notify the recovery log that a recovery process has started.

AbstractRecoveryLog.java174 行で定義されています。

参照先 org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.recoveringNb.

00176   {
00177     recoveringNb++;
00178   }

abstract void org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.cleanRecoveryLog  )  throws SQLException [pure virtual]
 

Possibly clean the recovery log after all recovery process are done.

例外:
SQLException if an error occurs

org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLogを実装しています.

参照元 org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.endRecovery().

abstract void org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.commit TransactionMarkerMetaData  tm  )  throws SQLException [pure virtual]
 

Log a transaction commit.

引数:
tm The transaction marker metadata
例外:
SQLException if an error occurs

org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLogを実装しています.

synchronized void org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.endRecovery  ) 
 

Notify the recovery log that a recovery process has finished. If this is the last recovery process to finish, the cleanRecoveryLog method is called

参照:
cleanRecoveryLog()

AbstractRecoveryLog.java186 行で定義されています。

参照先 org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.cleanRecoveryLog(), org.objectweb.cjdbc.common.log.Trace.error(), と org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.recoveringNb.

00187   {
00188     recoveringNb--;
00189     if (recoveringNb == 0)
00190     {
00191       try
00192       {
00193         cleanRecoveryLog();
00194       }
00195       catch (SQLException e)
00196       {
00197         logger.error(Translate.get("recovery.cleaning.failed", e));
00198       }
00199     }
00200   }

abstract String org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.getBackendCheckpoint String  databaseName,
String  backendName
throws SQLException [pure virtual]
 

Retrieve the last known checkpoint for the backend on this database from the recoverylog data

引数:
databaseName the virtual database name
backendName the backend name
戻り値:
String or null if does not exist
例外:
SQLException if cannot proceed

org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLogを実装しています.

参照元 org.objectweb.cjdbc.controller.requestmanager.RequestManager.setBackendsLastKnownCheckpointFromRecoveryLog().

abstract ArrayList org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.getCheckpointNames  )  throws SQLException [pure virtual]
 

Returns an array of names of all the checkpoint available in the recovery log

戻り値:
ArrayList of String checkpoint names
例外:
SQLException if fails

org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLogを実装しています.

参照元 org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabase.viewCheckpointNames().

abstract long org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.getCheckpointRequestId String  checkpointName  )  throws SQLException [pure virtual]
 

Get the request id corresponding to a given checkpoint. This is the first step in a recovery process. Following steps consist in calling recoverNextRequest.

引数:
checkpointName Name of the checkpoint
戻り値:
int the request identifier corresponding to this checkpoint.
例外:
SQLException if an error occurs
参照:
recoverNextRequest(long)

org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLogを実装しています.

abstract long org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.getLastTransactionId  )  throws SQLException [pure virtual]
 

Get the id of the last transaction logged in the recovery log.

戻り値:
the last transaction id.
例外:
SQLException if an error occured while retrieving the id.

org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLogを実装しています.

String org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.getXml  ) 
 

Get xml information of the current recovery load in the system.

戻り値:
xml formatted string

AbstractRecoveryLog.java225 行で定義されています。

参照先 org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.getXmlImpl().

00227   {
00228     StringBuffer info = new StringBuffer();
00229     info.append("<" + DatabasesXmlTags.ELT_RecoveryLog + ">");
00230     info.append(getXmlImpl());
00231     info.append("</" + DatabasesXmlTags.ELT_RecoveryLog + ">");
00232     return info.toString();
00233   }

abstract String org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.getXmlImpl  )  [pure virtual]
 

参照:
org.objectweb.cjdbc.common.xml.XmlComponent.getXml()

org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLogを実装しています.

参照元 org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.getXml().

synchronized boolean org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.isRecovering  ) 
 

Returns true if at least one backend has started a recover process.

戻り値:
boolean

AbstractRecoveryLog.java208 行で定義されています。

参照先 org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.recoveringNb.

00209   {
00210     return recoveringNb > 0;
00211   }

abstract void org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.logRequest StoredProcedure  proc,
boolean  isRead
throws SQLException [pure virtual]
 

Log a call to a stored procedure.

引数:
proc The stored procedure call to log
isRead True if the stored procedure call returns a ResultSet
例外:
SQLException if an error occurs

org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLogを実装しています.

abstract void org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.logRequest AbstractWriteRequest  request  )  throws SQLException [pure virtual]
 

Log a write request.

引数:
request The write request to log
例外:
SQLException if an error occurs

org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLogを実装しています.

abstract RecoveryTask org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.recoverNextRequest long  previousRequestId  )  throws SQLException [pure virtual]
 

Get the next request (begin/commit/rollback or WriteRequest) from the recovery log given the id of the previously recovered request.

The id of the request before the first one to recover is given by getCheckpointRequestId.

引数:
previousRequestId id of the previously recovered request
戻り値:
AbstractTask task corresponding to the next request to recover
例外:
SQLException if an error occurs
参照:
getCheckpointRequestId(String)

org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLogを実装しています.

abstract void org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.removeCheckpoint String  checkpointName  )  throws SQLException [pure virtual]
 

Remove a checkpoint from the recovery. This is useful for recovery maintenant

引数:
checkpointName to remove
例外:
SQLException if an error occurs

org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLogを実装しています.

abstract void org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.rollback TransactionMarkerMetaData  tm  )  throws SQLException [pure virtual]
 

Log a transaction rollback.

引数:
tm The transaction marker metadata
例外:
SQLException if an error occurs

org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLogを実装しています.

abstract void org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.storeBackendCheckpoint String  databaseName,
String  backendName,
String  checkpoint
throws SQLException [pure virtual]
 

Store the state of the backend in the recovery log

引数:
databaseName name of the virtual database
backendName name of the backend
checkpoint lastknown check point for this backend
例外:
SQLException if cannot proceed

org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLogを実装しています.

abstract void org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.storeCheckpoint String  checkpointName,
long  requestId
throws SQLException [pure virtual]
 

Store a Checkpoint using the given request id.

引数:
checkpointName Name of the checkpoint
requestId request identifier
例外:
SQLException if an error occurs

org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLogを実装しています.

abstract void org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.storeCheckpoint String  checkpointName  )  throws SQLException [pure virtual]
 

Store a Checkpoint using the current log state.

引数:
checkpointName Name of the checkpoint
例外:
SQLException if an error occurs

org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLogを実装しています.


変数

Trace org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.logger [static, package]
 

初期値:

 Trace
                                .getLogger("org.objectweb.cjdbc.controller.recoverylog")

AbstractRecoveryLog.java49 行で定義されています。

long org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.recoveringNb = 0 [private]
 

AbstractRecoveryLog.java52 行で定義されています。

参照元 org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.beginRecovery(), org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.endRecovery(), と org.objectweb.cjdbc.controller.recoverylog.AbstractRecoveryLog.isRecovering().


このクラスの説明は次のファイルから生成されました:
CJDBCversion1.0rc6に対してWed May 5 18:02:50 2004に生成されました。 doxygen 1.3.6