|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.objectweb.cjdbc.controller.scheduler.AbstractScheduler
org.objectweb.cjdbc.controller.scheduler.raidb1.RAIDb1PessimisticTransactionLevelScheduler
This scheduler provides transaction level scheduling for RAIDb-1 controllers. Each write takes a lock on the whole database. All following writes are blocked until the transaction of the first write completes.
Field Summary | |
private java.lang.String |
groupName
|
(package private) TransactionExclusiveLock |
lock
|
private int |
requestId
|
Fields inherited from class org.objectweb.cjdbc.controller.scheduler.AbstractScheduler |
logger, needSQLMacroHandling, parsingGranularity, raidbLevel |
Constructor Summary | |
RAIDb1PessimisticTransactionLevelScheduler()
Creates a new Pessimistic Transaction Level Scheduler |
|
RAIDb1PessimisticTransactionLevelScheduler(java.lang.String groupName)
Creates a new Distributed Pessimistic Transaction Level Scheduler belonging to the specified group. |
Method Summary | |
protected void |
commitTransaction(int transactionId)
Commit a transaction given its id. |
java.lang.String |
getInformation()
Get information about the Request Scheduler |
java.lang.String |
getXmlInformation()
Get information about the Request Scheduler in xml format |
void |
notifyWriteCompleted(AbstractWriteRequest request)
Notify the completion of a write statement. |
void |
readCompleted(SelectRequest request)
Notify the completion of a read statement. |
private void |
releaseLock(int transactionId)
Release the locks we may own on the schema. |
protected void |
rollbackTransaction(int transactionId)
Rollback a transaction given its id. |
void |
scheduleNonSuspendedWriteRequest(AbstractWriteRequest request)
Additionally to scheduling the request, this method replaces the SQL Date macros such as now() with the current date. |
void |
scheduleReadRequest(SelectRequest request)
Additionally to scheduling the request, this method replaces the SQL Date macros such as now() with the current date. |
Methods inherited from class org.objectweb.cjdbc.controller.scheduler.AbstractScheduler |
begin, beginCompleted, commit, commitCompleted, getParsingGranularity, getPendingWrites, getRAIDbLevel, handleSQLMacros, hasSQLMacros, mergeDatabaseSchema, resumeNewTransactions, resumeWrites, rollback, rollbackCompleted, scheduleReadRequest, scheduleWriteRequest, setDatabaseSchema, setParsingGranularity, setRAIDbLevel, suspendNewTransactionsForCheckpoint, suspendWrites, writeCompleted |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private int requestId
private java.lang.String groupName
TransactionExclusiveLock lock
Constructor Detail |
public RAIDb1PessimisticTransactionLevelScheduler()
public RAIDb1PessimisticTransactionLevelScheduler(java.lang.String groupName) throws java.sql.SQLException
groupName
- the multicast group name this scheduler belongs to
java.sql.SQLException
- if an error occursMethod Detail |
public final void scheduleReadRequest(SelectRequest request) throws java.sql.SQLException
scheduleReadRequest
in class AbstractScheduler
request
- Select request to schedule (SQL macros are already handled if needed)
java.sql.SQLException
- if a timeout occursAbstractScheduler.scheduleReadRequest(SelectRequest)
public final void readCompleted(SelectRequest request)
AbstractScheduler
readCompleted
in class AbstractScheduler
request
- the completed requestAbstractScheduler.readCompleted(SelectRequest)
public void scheduleNonSuspendedWriteRequest(AbstractWriteRequest request) throws java.sql.SQLException
scheduleNonSuspendedWriteRequest
in class AbstractScheduler
request
- Write request to schedule (SQL macros are already handled if needed)
java.sql.SQLException
- if a timeout occursAbstractScheduler.scheduleWriteRequest(AbstractWriteRequest)
public final void notifyWriteCompleted(AbstractWriteRequest request)
AbstractScheduler
notifyWriteCompleted
in class AbstractScheduler
request
- the completed requestAbstractScheduler.notifyWriteCompleted(AbstractWriteRequest)
protected final void commitTransaction(int transactionId)
AbstractScheduler
commitTransaction
in class AbstractScheduler
transactionId
- the transaction idAbstractScheduler.commitTransaction(int)
protected final void rollbackTransaction(int transactionId)
AbstractScheduler
rollbackTransaction
in class AbstractScheduler
transactionId
- the transaction idAbstractScheduler.rollbackTransaction(int)
private final void releaseLock(int transactionId)
transactionId
- id of the transaction that releases the lockpublic java.lang.String getInformation()
AbstractScheduler
getInformation
in class AbstractScheduler
String
containing informationAbstractScheduler.getInformation()
public java.lang.String getXmlInformation()
AbstractScheduler
getXmlInformation
in class AbstractScheduler
String
containing information in xmlAbstractScheduler.getXmlInformation()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |