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
Abstract implementation for connection controlling DAO.
Provides any basic logic.
- Since:
- 3.2SP1
- Author:
- Derek Hulley
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateSavepoint(String savepoint) Create a "Save Point" in the current transaction, for later selective rollback.voidreleaseSavepoint(Savepoint savepoint) No-opvoidrollbackToSavepoint(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, waitMethods inherited from interface org.alfresco.repo.domain.control.ControlDAO
executeBatch, startBatch
-
Constructor Details
-
AbstractControlDAOImpl
public AbstractControlDAOImpl()
-
-
Method Details
-
createSavepoint
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
No-op- Specified by:
rollbackToSavepointin interfaceControlDAO- Parameters:
savepoint- a previously-created savepoint- See Also:
-
releaseSavepoint
No-op- Specified by:
releaseSavepointin interfaceControlDAO- Parameters:
savepoint- the name of the save point- See Also:
-
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
-