public class ConnectionManagerImpl extends java.lang.Object implements ConnectionManagerIF
ConnectionManagerIF| Constructor and Description |
|---|
ConnectionManagerImpl(PersistenceBroker broker) |
| Modifier and Type | Method and Description |
|---|---|
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).
|
java.sql.Connection |
getConnection()
Returns the underlying connection, requested from
ConnectionFactory. |
JdbcConnectionDescriptor |
getConnectionDescriptor()
Returns the associated
JdbcConnectionDescriptor |
Platform |
getSupportedPlatform()
Returns the supported
Platform
determined by the JdbcConnectionDescriptor. |
ConnectionFactory |
getUnderlyingConnectionFactory()
Returns the underlying used
ConnectionFactory
implementation. |
boolean |
isAlive(java.sql.Connection conn)
Check if underlying connection was alive.
|
boolean |
isBatchMode() |
boolean |
isInLocalTransaction()
Hold connection is in local transaction.
|
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. |
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. |
public ConnectionManagerImpl(PersistenceBroker broker)
public JdbcConnectionDescriptor getConnectionDescriptor()
JdbcConnectionDescriptorgetConnectionDescriptor in interface ConnectionManagerIFpublic Platform getSupportedPlatform()
ConnectionManagerIFPlatform
determined by the JdbcConnectionDescriptor.getSupportedPlatform in interface ConnectionManagerIFConnectionManagerIF.getConnectionDescriptor()public java.sql.Connection getConnection()
throws 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 ConnectionManagerIFLookupExceptionpublic void localBegin()
localBegin in interface ConnectionManagerIFpublic void localCommit()
localCommit in interface ConnectionManagerIFpublic void localRollback()
localRollback in interface ConnectionManagerIFpublic boolean isAlive(java.sql.Connection conn)
isAlive in interface ConnectionManagerIFpublic boolean isInLocalTransaction()
ConnectionManagerIFisInLocalTransaction in interface ConnectionManagerIFpublic 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 ConnectionManagerIFpublic 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 ConnectionManagerIFmode - the batch modepublic boolean isBatchMode()
isBatchMode in interface ConnectionManagerIFpublic void executeBatch()
throws OJBBatchUpdateException
executeBatch in interface ConnectionManagerIFOJBBatchUpdateExceptionpublic void executeBatchIfNecessary()
throws OJBBatchUpdateException
executeBatchIfNecessary in interface ConnectionManagerIFOJBBatchUpdateExceptionpublic void clearBatch()
clearBatch in interface ConnectionManagerIF(C) 2002 - 2005 Apache Software Foundation
All rights reserved. Published under the Apache License 2.0.
http://db.apache.org/ojb
Version: 1.0.4, 2005-12-30