|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.jetspeed.components.rdbms.ojb.ConnectionManagerImpl
public class ConnectionManagerImpl
Manages Connection ressources. This class is a replacement for the default ConnectionManagerImpl that comes with OJB. It differs from this class only in its way to get a connection factory. The default OJB class always uses the class configured in OJB.properties. This implementation looks up the factory configured for the given JCD first and uses the default factory class only if no class is configured in the JCD.
ConnectionManagerIF
Field Summary | |
---|---|
private org.apache.ojb.broker.util.batch.BatchConnection |
batchCon
|
private boolean |
batchMode
|
private org.apache.ojb.broker.PersistenceBroker |
broker
|
private Connection |
con
|
private static Map |
connectionFactories
|
private org.apache.ojb.broker.accesslayer.ConnectionFactory |
connectionFactory
|
private boolean |
isInLocalTransaction
|
private org.apache.ojb.broker.metadata.JdbcConnectionDescriptor |
jcd
|
private org.apache.ojb.broker.util.logging.Logger |
log
|
private boolean |
originalAutoCommitState
|
private org.apache.ojb.broker.PBKey |
pbKey
|
private org.apache.ojb.broker.platforms.Platform |
platform
|
Constructor Summary | |
---|---|
ConnectionManagerImpl(org.apache.ojb.broker.PersistenceBroker broker)
|
Method Summary | |
---|---|
void |
clearBatch()
Clear batch (if the batch mode where used). |
void |
executeBatch()
Execute batch (if the batch mode where used). |
void |
executeBatchIfNecessary()
Execute batch if the number of statements in it exceeded the limit (if the batch mode where used). |
Connection |
getConnection()
Returns the underlying connection, requested from ConnectionFactory . |
org.apache.ojb.broker.metadata.JdbcConnectionDescriptor |
getConnectionDescriptor()
Returns the associated JdbcConnectionDescriptor |
org.apache.ojb.broker.platforms.Platform |
getSupportedPlatform()
|
org.apache.ojb.broker.accesslayer.ConnectionFactory |
getUnderlyingConnectionFactory()
Returns the underlying used ConnectionFactory
implementation. |
boolean |
isAlive(Connection conn)
Check if underlying connection was alive. |
boolean |
isBatchMode()
|
boolean |
isInLocalTransaction()
|
void |
localBegin()
Start transaction on the underlying connection. |
void |
localCommit()
Call commit on the underlying connection. |
void |
localRollback()
Call rollback on the underlying connection. |
void |
releaseConnection()
Release connection to the ConnectionFactory , make
sure that you call the method in either case, it's the only way to free the connection. |
protected void |
restoreAutoCommitState()
Reset autoCommit state. |
void |
setBatchMode(boolean mode)
Sets the batch mode on or off - this switch only works if you set attribute batch-mode
in jdbc-connection-descriptor true and your database
support batch mode. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private org.apache.ojb.broker.util.logging.Logger log
private org.apache.ojb.broker.PersistenceBroker broker
private org.apache.ojb.broker.accesslayer.ConnectionFactory connectionFactory
private org.apache.ojb.broker.metadata.JdbcConnectionDescriptor jcd
private org.apache.ojb.broker.platforms.Platform platform
private Connection con
private org.apache.ojb.broker.PBKey pbKey
private boolean originalAutoCommitState
private boolean isInLocalTransaction
private boolean batchMode
private org.apache.ojb.broker.util.batch.BatchConnection batchCon
private static Map connectionFactories
Constructor Detail |
---|
public ConnectionManagerImpl(org.apache.ojb.broker.PersistenceBroker broker)
Method Detail |
---|
public org.apache.ojb.broker.metadata.JdbcConnectionDescriptor getConnectionDescriptor()
JdbcConnectionDescriptor
getConnectionDescriptor
in interface org.apache.ojb.broker.accesslayer.ConnectionManagerIF
public org.apache.ojb.broker.platforms.Platform getSupportedPlatform()
getSupportedPlatform
in interface org.apache.ojb.broker.accesslayer.ConnectionManagerIF
public Connection getConnection() throws org.apache.ojb.broker.accesslayer.LookupException
ConnectionFactory
.
PB#beginTransaction() opens a single jdbc connection via PB#serviceConnectionManager().localBegin(). If you call PB#serviceConnectionManager().getConnection() later it returns the already opened connection. The PB instance will release the used connection during PB#commitTransaction() or PB#abortTransaction() or PB#close().
NOTE: Never call Connection.close() on the connection requested from the ConnectionManager.
Cleanup of used connection is done by OJB itself. If you need to release a used connection
call releaseConnection()
.
getConnection
in interface org.apache.ojb.broker.accesslayer.ConnectionManagerIF
org.apache.ojb.broker.accesslayer.LookupException
public void localBegin()
localBegin
in interface org.apache.ojb.broker.accesslayer.ConnectionManagerIF
public void localCommit()
localCommit
in interface org.apache.ojb.broker.accesslayer.ConnectionManagerIF
public void localRollback()
localRollback
in interface org.apache.ojb.broker.accesslayer.ConnectionManagerIF
protected void restoreAutoCommitState()
public boolean isAlive(Connection conn)
isAlive
in interface org.apache.ojb.broker.accesslayer.ConnectionManagerIF
public boolean isInLocalTransaction()
isInLocalTransaction
in interface org.apache.ojb.broker.accesslayer.ConnectionManagerIF
public void releaseConnection()
ConnectionFactory
, make
sure that you call the method in either case, it's the only way to free the connection.
releaseConnection
in interface org.apache.ojb.broker.accesslayer.ConnectionManagerIF
public org.apache.ojb.broker.accesslayer.ConnectionFactory getUnderlyingConnectionFactory()
ConnectionFactory
implementation.
public void setBatchMode(boolean mode)
batch-mode
in jdbc-connection-descriptor
true and your database
support batch mode.
setBatchMode
in interface org.apache.ojb.broker.accesslayer.ConnectionManagerIF
mode
- the batch modepublic boolean isBatchMode()
isBatchMode
in interface org.apache.ojb.broker.accesslayer.ConnectionManagerIF
public void executeBatch() throws org.apache.ojb.broker.accesslayer.OJBBatchUpdateException
executeBatch
in interface org.apache.ojb.broker.accesslayer.ConnectionManagerIF
org.apache.ojb.broker.accesslayer.OJBBatchUpdateException
public void executeBatchIfNecessary() throws org.apache.ojb.broker.accesslayer.OJBBatchUpdateException
executeBatchIfNecessary
in interface org.apache.ojb.broker.accesslayer.ConnectionManagerIF
org.apache.ojb.broker.accesslayer.OJBBatchUpdateException
public void clearBatch()
clearBatch
in interface org.apache.ojb.broker.accesslayer.ConnectionManagerIF
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |