|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.exolab.castor.jdo.engine.AbstractDatabaseImpl
org.exolab.castor.jdo.engine.GlobalDatabaseImpl
An implementation of the JDO database supporting explicit transaction demarcation.
| Field Summary | |
(package private) boolean |
_isPoolInUseForGlobalTransactions
Flag to indicate whether Database instances should be cached on a per transaction base. |
| Fields inherited from class org.exolab.castor.jdo.engine.AbstractDatabaseImpl |
_autoStore, _callback, _classLoader, _ctx, _dbName, _instanceFactory, _lockTimeout, _scope |
| Fields inherited from interface org.exolab.castor.jdo.Database |
DbLocked, Exclusive, ReadOnly, Shared |
| Constructor Summary | |
GlobalDatabaseImpl(java.lang.String dbName,
int lockTimeout,
CallbackInterceptor callback,
InstanceFactory instanceFactory,
javax.transaction.Transaction transaction,
java.lang.ClassLoader classLoader,
boolean autoStore,
boolean isPoolInUseForGlobalTransactions)
Creates an instance of this class. |
|
| Method Summary | |
void |
afterCompletion(int status)
|
void |
beforeCompletion()
|
void |
begin()
Begin a new transaction. |
void |
close()
Closes the database. |
void |
commit()
Commits and closes the transaction. |
protected void |
finalize()
Overrides Object.finalize(). |
java.sql.Connection |
getJdbcConnection()
Gets the underlying JDBC connection. |
void |
rollback()
Rolls back and closes the transaction. |
(package private) void |
setTxMap(TxDatabaseMap txMap)
|
| Methods inherited from class org.exolab.castor.jdo.engine.AbstractDatabaseImpl |
create, getCacheManager, getClassLoader, getCurrentTransaction, getDatabaseName, getIdentity, getLockEngine, getNamedQuery, getOQLQuery, getOQLQuery, getQuery, getScope, getTransaction, isActive, isAutoStore, isClosed, isLocked, isPersistent, load, load, load, loadSynchronizables, lock, registerSynchronizables, remove, setAutoStore, toString, unregisterSynchronizables, update |
| Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
boolean _isPoolInUseForGlobalTransactions
| Constructor Detail |
public GlobalDatabaseImpl(java.lang.String dbName,
int lockTimeout,
CallbackInterceptor callback,
InstanceFactory instanceFactory,
javax.transaction.Transaction transaction,
java.lang.ClassLoader classLoader,
boolean autoStore,
boolean isPoolInUseForGlobalTransactions)
throws DatabaseNotFoundException
dbName - Database namelockTimeout - Lock timeout.callback - Callback interceptors.instanceFactory - Instance factory to use.transaction - Current XA transaction.classLoader - Current class loader.autoStore - True if auto-storing is enabled.isPoolInUseForGlobalTransactions - True if Database instanced should be cached.
DatabaseNotFoundException - If the specified database cannot be found.| Method Detail |
public void close()
throws PersistenceException
Database
close in interface Databaseclose in class AbstractDatabaseImplPersistenceExceptionDatabase.close()
protected void finalize()
throws java.lang.Throwable
java.lang.ThrowableObject.finalize()
public void begin()
throws PersistenceException
Database
begin in interface Databasebegin in class AbstractDatabaseImplPersistenceExceptionDatabase.begin()
public void commit()
throws TransactionNotInProgressException,
TransactionAbortedException
DatabaseIn other words, any modifications to any data objects which are queried/loaded/created/update to this database is automatically stored to the database and visible to subsequence transactions. (ie. update is solely used for long transaction support and should not be called for any data object queried/loaded/created in the this transaction.)
If the transaction cannot commit, the entire transaction rolls
back and a TransactionAbortedException exception is
thrown.
After this method returns, the transaction is closed and all
persistent objects are transient. Using Database.begin() to open a
new transaction will not restore objects to their persistent
stage.
commit in interface Databasecommit in class AbstractDatabaseImplTransactionNotInProgressException
TransactionAbortedExceptionDatabase.commit()
public void rollback()
throws TransactionNotInProgressException
Database
rollback in interface Databaserollback in class AbstractDatabaseImplTransactionNotInProgressExceptionDatabase.rollback()public void beforeCompletion()
beforeCompletion in interface javax.transaction.SynchronizationSynchronization.beforeCompletion()public void afterCompletion(int status)
afterCompletion in interface javax.transaction.SynchronizationSynchronization.afterCompletion(int)void setTxMap(TxDatabaseMap txMap)
public java.sql.Connection getJdbcConnection()
throws PersistenceException
Database
getJdbcConnection in interface DatabasegetJdbcConnection in class AbstractDatabaseImplPersistenceExceptionDatabase.getJdbcConnection()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||