Package org.alfresco.repo.domain.control
Class AbstractControlDAOImpl
- java.lang.Object
-
- org.alfresco.repo.domain.control.AbstractControlDAOImpl
-
- All Implemented Interfaces:
ControlDAO
- Direct Known Subclasses:
ControlDAOImpl
public abstract class AbstractControlDAOImpl extends java.lang.Object implements ControlDAO
Abstract implementation for connection controlling DAO.Provides any basic logic.
- Since:
- 3.2SP1
- Author:
- Derek Hulley
-
-
Constructor Summary
Constructors Constructor Description AbstractControlDAOImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.sql.SavepointcreateSavepoint(java.lang.String savepoint)Create a "Save Point" in the current transaction, for later selective rollback.voidreleaseSavepoint(java.sql.Savepoint savepoint)No-opvoidrollbackToSavepoint(java.sql.Savepoint savepoint)No-opintsetTransactionIsolationLevel(int isolationLevel)Change the current transaction isolation level.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.alfresco.repo.domain.control.ControlDAO
executeBatch, startBatch
-
-
-
-
Method Detail
-
createSavepoint
public java.sql.Savepoint createSavepoint(java.lang.String savepoint)
Description copied from interface:ControlDAOCreate a "Save Point" in the current transaction, for later selective rollback. Creation must be accompanied by a matchingControlDAO.rollbackToSavepoint(Savepoint)orControlDAO.releaseSavepoint(Savepoint).Savepoint savepoint = controlDAO.createSavepoint("functionF"); try { // Do something that could fail e.g. blind insert that might violate unique constraints ... // Success, so remove savepoint or risk crashing on long-running transactions controlDAO.releaseSavepoint(savepoint); } catch (Throwable e) { controlDAO.rollbackToSavepoint(savepoint); // Throw something that client code might be able to react to or try something else ... }- Specified by:
createSavepointin interfaceControlDAO- Parameters:
savepoint- the name of the save point- Returns:
- Returns null by default i.e. not supported
-
rollbackToSavepoint
public void rollbackToSavepoint(java.sql.Savepoint savepoint)
No-op- Specified by:
rollbackToSavepointin interfaceControlDAO- Parameters:
savepoint- a previously-created savepoint- See Also:
ControlDAO.createSavepoint(String)
-
releaseSavepoint
public void releaseSavepoint(java.sql.Savepoint savepoint)
No-op- Specified by:
releaseSavepointin interfaceControlDAO- Parameters:
savepoint- the name of the save point- See Also:
ControlDAO.createSavepoint(String)
-
setTransactionIsolationLevel
public int setTransactionIsolationLevel(int isolationLevel)
Description copied from interface:ControlDAOChange the current transaction isolation level. Note: The isolation level should not - and for some DBs, cannot - be changed except at the very start of the transaction- Specified by:
setTransactionIsolationLevelin interfaceControlDAO- Parameters:
isolationLevel- the transaction isolation level- Returns:
- Returns the previously-set isolation
-
-