|
|||||||||||
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.RAIDb1QueryLevelScheduler
This scheduler provides query level scheduling for RAIDb-1 controllers. Reads can execute in parallel until a write comes in. Then the write waits for the completion of the reads. Any new read is stacked after the write and they are released together when the write has completed its execution.
Field Summary | |
private java.lang.String |
groupName
|
private int |
pendingReads
|
private java.lang.Object |
readSync
|
private int |
requestId
|
private java.lang.Object |
writeSync
|
Fields inherited from class org.objectweb.cjdbc.controller.scheduler.AbstractScheduler |
logger, needSQLMacroHandling, parsingGranularity, raidbLevel |
Constructor Summary | |
RAIDb1QueryLevelScheduler()
Creates a new Query Level Scheduler |
|
RAIDb1QueryLevelScheduler(java.lang.String groupName)
Creates a new Distributed Query 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. |
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
private int pendingReads
private java.lang.Object readSync
private java.lang.Object writeSync
Constructor Detail |
public RAIDb1QueryLevelScheduler()
public RAIDb1QueryLevelScheduler(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 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)
public 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 |