|
ozone core API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.ozoneDB.core.Transaction
org.ozoneDB.core.FixHack
Field Summary |
Fields inherited from class org.ozoneDB.core.Transaction |
acquireCount, blocker, blockTimeout, callStack, commandCount, deadlocked, deadlockWaitTimeMaximum, deadlockWaitTimeMaximumMaximum, deadlockWaitTimeMaximumMinimum, env, HASHTABLE_INIT_SIZE, maxLockLevel, owner, ownerName, rollbackOnly, sleeping, startTime, status, STATUS_ABORTED, STATUS_ABORTING, STATUS_COMMITED, STATUS_COMMITING, STATUS_NONE, STATUS_PREPARED, STATUS_PREPARING, STATUS_STARTED, stopped, taID |
Constructor Summary | |
(package private) |
FixHack(TransactionID taID)
|
Method Summary | |
void |
abort(DbCommand command)
Once this method is called it MUST cleanup the entire transaction stuff without exception. |
protected ObjectContainer |
acquireContainer(ObjectContainer container,
int lockLevel)
|
ObjectContainer |
acquireObject(ObjectID id,
int lockLevel)
Set a lock on the container specified by the given object ID and join the container to this transaction. |
Lockable |
blockedBy()
Helper method to implement the Locker interface to support deadlock recognition via core.dr package |
protected void |
callOnActivateIfNeeded(ObjectContainer container)
|
protected void |
callOnPassivateIfNeeded(ObjectContainer container)
|
void |
commit()
Commit this transaction. |
ObjectContainer |
copyObject(ObjectID id)
|
ObjectContainer |
createObject(java.lang.String className,
int access,
java.lang.String name,
java.lang.String sig,
java.lang.Object[] args,
ObjectID id)
Create a new database object. |
void |
deleteObject(ObjectID id)
|
boolean |
equals(java.lang.Object obj)
|
org.ozoneDB.data.SimpleArrayList |
getCallStack()
|
protected long |
getDeadlockWaitTimeMaximum()
|
TransactionManager |
getManager()
|
protected long |
increaseDeadlockWaitTimeMaximum()
|
java.lang.Object |
invokeObject(ObjectID id,
int methodIndex,
java.lang.Object[] args,
int lockLevel)
|
java.lang.Object |
invokeObject(ObjectID id,
java.lang.String methodName,
java.lang.String sig,
java.lang.Object[] args,
int lockLevel)
|
boolean |
isBlocked()
Returns wether this locker is blocked. |
boolean |
isDeadlocked()
|
protected boolean |
isSleeping()
|
int |
maxLockLevel()
|
void |
nameObject(ObjectID id,
java.lang.String name)
|
org.ozoneDB.OzoneProxy |
objectForID(ObjectID id)
|
org.ozoneDB.OzoneProxy |
objectForName(java.lang.String name)
|
DxSet |
objectNames()
|
User |
owner()
|
boolean |
performCommand(DbCommand command)
|
void |
prepareCommit()
|
void |
releaseObject(ObjectContainer objectContainer)
The corresponding method to acquireObject(org.ozoneDB.core.ObjectID, int) .
|
void |
requireWriteLockingCallByUser(ObjectContainer container)
A user calls OzoneObject.requireWriteLocking() .
|
void |
reset()
|
void |
setDeadlocked(boolean to)
|
protected void |
setDeadlockWaitTimeMaximum(long to)
|
void |
sleep(long millis)
|
int |
status()
|
void |
stop()
|
TransactionID |
taID()
|
Methods inherited from class org.ozoneDB.core.Transaction |
finalize, toString |
Methods inherited from class java.lang.Object |
clone, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
FixHack(TransactionID taID)
Method Detail |
public void stop()
stop
in class Transaction
public void reset()
reset
in class Transaction
protected void setDeadlockWaitTimeMaximum(long to)
setDeadlockWaitTimeMaximum
in class Transaction
protected long getDeadlockWaitTimeMaximum()
getDeadlockWaitTimeMaximum
in class Transaction
protected long increaseDeadlockWaitTimeMaximum()
increaseDeadlockWaitTimeMaximum
in class Transaction
public void setDeadlocked(boolean to)
setDeadlocked
in interface Locker
setDeadlocked
in class Transaction
public boolean isDeadlocked()
isDeadlocked
in interface Locker
isDeadlocked
in class Transaction
public int status()
status
in class Transaction
public User owner()
owner
in class Transaction
public int maxLockLevel()
maxLockLevel
in class Transaction
public void releaseObject(ObjectContainer objectContainer)
Transaction
Transaction.acquireObject(org.ozoneDB.core.ObjectID, int)
.
releaseObject
in class Transaction
protected void callOnPassivateIfNeeded(ObjectContainer container)
callOnPassivateIfNeeded
in class Transaction
public ObjectContainer acquireObject(ObjectID id, int lockLevel) throws org.ozoneDB.ObjectNotFoundException, java.io.IOException, java.lang.ClassNotFoundException, org.ozoneDB.TransactionException, TransactionError
Transaction
acquireObject
in class Transaction
id
- ObjectID of the container which we try to join to this transaction.lockLevel
- The lock level we need on this object (container).
org.ozoneDB.ObjectNotFoundException
- If there is no such object.
java.io.IOException
java.lang.ClassNotFoundException
org.ozoneDB.TransactionException
TransactionError
protected void callOnActivateIfNeeded(ObjectContainer container)
callOnActivateIfNeeded
in class Transaction
protected ObjectContainer acquireContainer(ObjectContainer container, int lockLevel) throws PermissionError, org.ozoneDB.TransactionException, TransactionError, java.io.IOException, org.ozoneDB.ObjectNotFoundException, java.lang.ClassNotFoundException
acquireContainer
in class Transaction
PermissionError
org.ozoneDB.TransactionException
TransactionError
java.io.IOException
org.ozoneDB.ObjectNotFoundException
java.lang.ClassNotFoundException
public void requireWriteLockingCallByUser(ObjectContainer container)
Transaction
OzoneObject.requireWriteLocking()
.
This means that no user-visible declaed exceptions can be thrown. Thus,
the same measures regarding catching and wrapping exceptions have to be taken as in Transaction.invokeObject(org.ozoneDB.core.ObjectID, java.lang.String, java.lang.String, java.lang.Object[], int)
.
requireWriteLockingCallByUser
in class Transaction
public boolean performCommand(DbCommand command)
performCommand
in class Transaction
public void prepareCommit() throws java.io.IOException, java.lang.ClassNotFoundException
prepareCommit
in class Transaction
java.io.IOException
java.lang.ClassNotFoundException
public void commit() throws java.io.IOException, java.lang.ClassNotFoundException
Transaction
commit
in class Transaction
java.io.IOException
java.lang.ClassNotFoundException
public void abort(DbCommand command) throws java.io.IOException, java.lang.ClassNotFoundException
Transaction
Note: This may be called after/from prepareCommit() !
abort
in class Transaction
java.io.IOException
java.lang.ClassNotFoundException
public Lockable blockedBy()
Transaction
blockedBy
in interface Locker
blockedBy
in class Transaction
public boolean isBlocked()
Transaction
isBlocked
in interface Locker
isBlocked
in class Transaction
public ObjectContainer createObject(java.lang.String className, int access, java.lang.String name, java.lang.String sig, java.lang.Object[] args, ObjectID id) throws java.lang.Exception, org.ozoneDB.OzoneObjectException
Transaction
createObject
in class Transaction
className
- access
- name
- id
- The ID of the new container or null.
java.lang.Exception
org.ozoneDB.OzoneObjectException
public ObjectContainer copyObject(ObjectID id) throws java.lang.Exception
copyObject
in class Transaction
java.lang.Exception
public void deleteObject(ObjectID id) throws org.ozoneDB.ObjectNotFoundException, java.io.IOException, java.lang.ClassNotFoundException, org.ozoneDB.TransactionException, TransactionError, org.ozoneDB.OzoneRemoteException, org.ozoneDB.OzoneInternalException, org.ozoneDB.OzoneObjectException
deleteObject
in class Transaction
org.ozoneDB.ObjectNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
org.ozoneDB.TransactionException
TransactionError
org.ozoneDB.OzoneRemoteException
org.ozoneDB.OzoneInternalException
org.ozoneDB.OzoneObjectException
public java.lang.Object invokeObject(ObjectID id, java.lang.String methodName, java.lang.String sig, java.lang.Object[] args, int lockLevel) throws java.lang.Exception, org.ozoneDB.OzoneObjectException
invokeObject
in class Transaction
id
- methodName
- sig
- lockLevel
-
java.lang.Exception
org.ozoneDB.OzoneObjectException
public java.lang.Object invokeObject(ObjectID id, int methodIndex, java.lang.Object[] args, int lockLevel) throws java.lang.Exception, org.ozoneDB.OzoneObjectException
invokeObject
in class Transaction
java.lang.Exception
org.ozoneDB.OzoneObjectException
public void nameObject(ObjectID id, java.lang.String name) throws java.lang.Exception
nameObject
in class Transaction
java.lang.Exception
public DxSet objectNames() throws java.lang.Exception
objectNames
in class Transaction
java.lang.Exception
public org.ozoneDB.OzoneProxy objectForName(java.lang.String name) throws java.lang.Exception
objectForName
in class Transaction
java.lang.Exception
public org.ozoneDB.OzoneProxy objectForID(ObjectID id) throws java.lang.Exception
objectForID
in class Transaction
java.lang.Exception
public void sleep(long millis)
sleep
in class Transaction
protected boolean isSleeping()
isSleeping
in class Transaction
public TransactionID taID()
taID
in class Transaction
public boolean equals(java.lang.Object obj)
equals
in class Transaction
public org.ozoneDB.data.SimpleArrayList getCallStack()
getCallStack
in class Transaction
public TransactionManager getManager()
getManager
in class Transaction
|
ozone core API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |