|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.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 | |
(package private) TransactionExclusiveLock |
lock
|
private long |
requestId
|
Fields inherited from class org.objectweb.cjdbc.controller.scheduler.AbstractScheduler |
logger, parsingGranularity, raidbLevel |
Fields inherited from interface org.objectweb.cjdbc.common.xml.XmlComponent |
DOCTYPE_CONTROLLER, DOCTYPE_DB, XML_VERSION |
Constructor Summary | |
RAIDb1PessimisticTransactionLevelScheduler()
Creates a new Pessimistic Transaction Level Scheduler |
Method Summary | |
protected void |
commitTransaction(long transactionId)
Commit a transaction given its id. |
java.lang.String |
getXmlImpl()
|
void |
notifyStoredProcedureCompleted(StoredProcedure proc)
Notify the completion of a stored procedure. |
void |
notifyWriteCompleted(AbstractWriteRequest request)
Notify the completion of a write statement. |
void |
readCompletedNotify(SelectRequest request)
Notify the completion of a read statement. |
private void |
releaseLock(long transactionId)
Release the locks we may own on the schema. |
protected void |
releaseSavepointTransaction(long transactionId,
java.lang.String name)
Release a savepoint given its name from a transaction given its id. |
protected void |
rollbackTransaction(long transactionId)
Rollback a transaction given its id. |
protected void |
rollbackTransaction(long transactionId,
java.lang.String savepointName)
Rollback a transaction given its id to a savepoint given its name. |
void |
scheduleNonSuspendedStoredProcedure(StoredProcedure proc)
Schedule a write request (implementation specific). |
void |
scheduleNonSuspendedWriteRequest(AbstractWriteRequest request)
Note that CREATE statements are not synchronized. |
void |
scheduleReadRequest(SelectRequest request)
Additionally to scheduling the request, this method replaces the SQL Date macros such as now() with the current date. |
protected void |
setSavepointTransaction(long transactionId,
java.lang.String name)
Set a savepoint given its name to a transaction given its id. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private long requestId
TransactionExclusiveLock lock
Constructor Detail |
public RAIDb1PessimisticTransactionLevelScheduler()
Method 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 readCompletedNotify(SelectRequest request)
AbstractScheduler
readCompletedNotify
in class AbstractScheduler
request
- the completed requestAbstractScheduler.readCompletedNotify(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.scheduleNonSuspendedWriteRequest(AbstractWriteRequest)
public final void notifyWriteCompleted(AbstractWriteRequest request)
AbstractScheduler
notifyWriteCompleted
in class AbstractScheduler
request
- the completed requestAbstractScheduler.notifyWriteCompleted(AbstractWriteRequest)
public final void scheduleNonSuspendedStoredProcedure(StoredProcedure proc) throws java.sql.SQLException, RollbackException
AbstractScheduler
scheduleNonSuspendedStoredProcedure
in class AbstractScheduler
proc
- Stored procedure to schedule
java.sql.SQLException
- if a timeout occurs
RollbackException
- if the transaction must be rollbackedAbstractScheduler.scheduleNonSuspendedStoredProcedure(org.objectweb.cjdbc.common.sql.StoredProcedure)
public final void notifyStoredProcedureCompleted(StoredProcedure proc)
AbstractScheduler
notifyStoredProcedureCompleted
in class AbstractScheduler
proc
- the completed stored procedureAbstractScheduler.notifyStoredProcedureCompleted(org.objectweb.cjdbc.common.sql.StoredProcedure)
protected final void commitTransaction(long transactionId)
AbstractScheduler
commitTransaction
in class AbstractScheduler
transactionId
- the transaction idAbstractScheduler.commitTransaction(long)
protected final void rollbackTransaction(long transactionId)
AbstractScheduler
rollbackTransaction
in class AbstractScheduler
transactionId
- the transaction idAbstractScheduler.rollbackTransaction(long)
protected final void rollbackTransaction(long transactionId, java.lang.String savepointName)
AbstractScheduler
rollbackTransaction
in class AbstractScheduler
transactionId
- the transaction idsavepointName
- the name of the savepointAbstractScheduler.rollbackTransaction(long,
String)
protected final void setSavepointTransaction(long transactionId, java.lang.String name)
AbstractScheduler
setSavepointTransaction
in class AbstractScheduler
transactionId
- the transaction idname
- the name of the savepointAbstractScheduler.setSavepointTransaction(long,
String)
protected final void releaseSavepointTransaction(long transactionId, java.lang.String name)
AbstractScheduler
releaseSavepointTransaction
in class AbstractScheduler
transactionId
- the transaction idname
- the name of the savepointAbstractScheduler.releaseSavepointTransaction(long,
String)
private void releaseLock(long transactionId)
transactionId
- id of the transaction that releases the lockpublic java.lang.String getXmlImpl()
getXmlImpl
in class AbstractScheduler
AbstractScheduler.getXmlImpl()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |