Class PooledConnection
- java.lang.Object
- 
- org.linuxforhealth.fhir.database.utils.pool.PooledConnection
 
- 
- All Implemented Interfaces:
- java.lang.AutoCloseable,- java.sql.Connection,- java.sql.Wrapper
 
 public class PooledConnection extends java.lang.Object implements java.sql.ConnectionWrapping of a real database connection so that we can intercept the close call and therefore reuse the connection. Note that we also listen for any exceptions generated, and assume (for better or for worse) that something might be broken so call back to the connection provider so that it can decide whether or not to abandon the underlying connection.
- 
- 
Constructor SummaryConstructors Constructor Description PooledConnection(PoolConnectionProvider cp, java.sql.Connection wrappee, boolean closeOnAnyError)Public constructor
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidabort(java.util.concurrent.Executor executor)voidclearWarnings()voidclose()protected voidcloseWrapped()Reduced visibility so that only the connection pool gets to close the underlying connection.voidcommit()java.sql.ArraycreateArrayOf(java.lang.String typeName, java.lang.Object[] elements)java.sql.BlobcreateBlob()java.sql.ClobcreateClob()java.sql.NClobcreateNClob()java.sql.SQLXMLcreateSQLXML()java.sql.StatementcreateStatement()java.sql.StatementcreateStatement(int resultSetType, int resultSetConcurrency)java.sql.StatementcreateStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)java.sql.StructcreateStruct(java.lang.String typeName, java.lang.Object[] attributes)voidforceClosed()Force the underlying connection to close.booleangetAutoCommit()java.lang.StringgetCatalog()java.util.PropertiesgetClientInfo()java.lang.StringgetClientInfo(java.lang.String name)intgetHoldability()java.sql.DatabaseMetaDatagetMetaData()intgetNetworkTimeout()intgetOpenCount()Get the current open countjava.lang.StringgetSchema()intgetTransactionIsolation()java.util.Map<java.lang.String,java.lang.Class<?>>getTypeMap()java.sql.SQLWarninggetWarnings()java.sql.ConnectiongetWrapped()Get the wrapped connectionintincOpenCount()Increment the open count and return the new valuebooleanisClosed()booleanisReadOnly()booleanisReusable()Getter for the broken connection flagbooleanisValid(int timeout)booleanisWrapperFor(java.lang.Class<?> iface)java.lang.StringnativeSQL(java.lang.String sql)java.sql.CallableStatementprepareCall(java.lang.String sql)java.sql.CallableStatementprepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency)java.sql.CallableStatementprepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)java.sql.PreparedStatementprepareStatement(java.lang.String sql)java.sql.PreparedStatementprepareStatement(java.lang.String sql, int autoGeneratedKeys)java.sql.PreparedStatementprepareStatement(java.lang.String sql, int[] columnIndexes)java.sql.PreparedStatementprepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency)java.sql.PreparedStatementprepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)java.sql.PreparedStatementprepareStatement(java.lang.String sql, java.lang.String[] columnNames)voidreleaseSavepoint(java.sql.Savepoint savepoint)voidrollback()voidrollback(java.sql.Savepoint savepoint)voidsetAutoCommit(boolean autoCommit)voidsetCatalog(java.lang.String catalog)voidsetClientInfo(java.lang.String name, java.lang.String value)voidsetClientInfo(java.util.Properties properties)voidsetHoldability(int holdability)voidsetNetworkTimeout(java.util.concurrent.Executor executor, int milliseconds)voidsetReadOnly(boolean readOnly)java.sql.SavepointsetSavepoint()java.sql.SavepointsetSavepoint(java.lang.String name)voidsetSchema(java.lang.String schema)voidsetTransactionIsolation(int level)voidsetTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>> map)<T> Tunwrap(java.lang.Class<T> iface)
 
- 
- 
- 
Constructor Detail- 
PooledConnectionpublic PooledConnection(PoolConnectionProvider cp, java.sql.Connection wrappee, boolean closeOnAnyError) Public constructor- Parameters:
- cp-
- wrappee-
- closeOnAnyError-
 
 
- 
 - 
Method Detail- 
getWrappedpublic java.sql.Connection getWrapped() Get the wrapped connection- Returns:
 
 - 
isReusablepublic boolean isReusable() Getter for the broken connection flag- Returns:
 
 - 
incOpenCountpublic int incOpenCount() Increment the open count and return the new value- Returns:
 
 - 
getOpenCountpublic int getOpenCount() Get the current open count- Returns:
 
 - 
forceClosedpublic void forceClosed() Force the underlying connection to close. We don't care about any exceptions, because there's nothing we can do about them
 - 
clearWarningspublic void clearWarnings() throws java.sql.SQLException- Specified by:
- clearWarningsin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
closepublic void close() throws java.sql.SQLException- Specified by:
- closein interface- java.lang.AutoCloseable
- Specified by:
- closein interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
commitpublic void commit() throws java.sql.SQLException- Specified by:
- commitin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
createArrayOfpublic java.sql.Array createArrayOf(java.lang.String typeName, java.lang.Object[] elements) throws java.sql.SQLException- Specified by:
- createArrayOfin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
createBlobpublic java.sql.Blob createBlob() throws java.sql.SQLException- Specified by:
- createBlobin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
createClobpublic java.sql.Clob createClob() throws java.sql.SQLException- Specified by:
- createClobin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
createNClobpublic java.sql.NClob createNClob() throws java.sql.SQLException- Specified by:
- createNClobin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
createSQLXMLpublic java.sql.SQLXML createSQLXML() throws java.sql.SQLException- Specified by:
- createSQLXMLin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
createStatementpublic java.sql.Statement createStatement() throws java.sql.SQLException- Specified by:
- createStatementin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
createStatementpublic java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency) throws java.sql.SQLException- Specified by:
- createStatementin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
createStatementpublic java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException- Specified by:
- createStatementin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
createStructpublic java.sql.Struct createStruct(java.lang.String typeName, java.lang.Object[] attributes) throws java.sql.SQLException- Specified by:
- createStructin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
getAutoCommitpublic boolean getAutoCommit() throws java.sql.SQLException- Specified by:
- getAutoCommitin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
getCatalogpublic java.lang.String getCatalog() throws java.sql.SQLException- Specified by:
- getCatalogin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
getClientInfopublic java.util.Properties getClientInfo() throws java.sql.SQLException- Specified by:
- getClientInfoin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
getClientInfopublic java.lang.String getClientInfo(java.lang.String name) throws java.sql.SQLException- Specified by:
- getClientInfoin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
getHoldabilitypublic int getHoldability() throws java.sql.SQLException- Specified by:
- getHoldabilityin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
getMetaDatapublic java.sql.DatabaseMetaData getMetaData() throws java.sql.SQLException- Specified by:
- getMetaDatain interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
getTransactionIsolationpublic int getTransactionIsolation() throws java.sql.SQLException- Specified by:
- getTransactionIsolationin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
getTypeMappublic java.util.Map<java.lang.String,java.lang.Class<?>> getTypeMap() throws java.sql.SQLException- Specified by:
- getTypeMapin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
getWarningspublic java.sql.SQLWarning getWarnings() throws java.sql.SQLException- Specified by:
- getWarningsin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
isClosedpublic boolean isClosed() throws java.sql.SQLException- Specified by:
- isClosedin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
isReadOnlypublic boolean isReadOnly() throws java.sql.SQLException- Specified by:
- isReadOnlyin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
isValidpublic boolean isValid(int timeout) throws java.sql.SQLException- Specified by:
- isValidin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
nativeSQLpublic java.lang.String nativeSQL(java.lang.String sql) throws java.sql.SQLException- Specified by:
- nativeSQLin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
prepareCallpublic java.sql.CallableStatement prepareCall(java.lang.String sql) throws java.sql.SQLException- Specified by:
- prepareCallin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
prepareCallpublic java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency) throws java.sql.SQLException- Specified by:
- prepareCallin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
prepareCallpublic java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException- Specified by:
- prepareCallin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
prepareStatementpublic java.sql.PreparedStatement prepareStatement(java.lang.String sql) throws java.sql.SQLException- Specified by:
- prepareStatementin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
prepareStatementpublic java.sql.PreparedStatement prepareStatement(java.lang.String sql, int autoGeneratedKeys) throws java.sql.SQLException- Specified by:
- prepareStatementin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
prepareStatementpublic java.sql.PreparedStatement prepareStatement(java.lang.String sql, int[] columnIndexes) throws java.sql.SQLException- Specified by:
- prepareStatementin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
prepareStatementpublic java.sql.PreparedStatement prepareStatement(java.lang.String sql, java.lang.String[] columnNames) throws java.sql.SQLException- Specified by:
- prepareStatementin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
prepareStatementpublic java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency) throws java.sql.SQLException- Specified by:
- prepareStatementin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
prepareStatementpublic java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException- Specified by:
- prepareStatementin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
releaseSavepointpublic void releaseSavepoint(java.sql.Savepoint savepoint) throws java.sql.SQLException- Specified by:
- releaseSavepointin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
rollbackpublic void rollback() throws java.sql.SQLException- Specified by:
- rollbackin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
rollbackpublic void rollback(java.sql.Savepoint savepoint) throws java.sql.SQLException- Specified by:
- rollbackin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
setAutoCommitpublic void setAutoCommit(boolean autoCommit) throws java.sql.SQLException- Specified by:
- setAutoCommitin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
setCatalogpublic void setCatalog(java.lang.String catalog) throws java.sql.SQLException- Specified by:
- setCatalogin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
setClientInfopublic void setClientInfo(java.util.Properties properties) throws java.sql.SQLClientInfoException- Specified by:
- setClientInfoin interface- java.sql.Connection
- Throws:
- java.sql.SQLClientInfoException
 
 - 
setClientInfopublic void setClientInfo(java.lang.String name, java.lang.String value) throws java.sql.SQLClientInfoException- Specified by:
- setClientInfoin interface- java.sql.Connection
- Throws:
- java.sql.SQLClientInfoException
 
 - 
setHoldabilitypublic void setHoldability(int holdability) throws java.sql.SQLException- Specified by:
- setHoldabilityin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
setReadOnlypublic void setReadOnly(boolean readOnly) throws java.sql.SQLException- Specified by:
- setReadOnlyin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
setSavepointpublic java.sql.Savepoint setSavepoint() throws java.sql.SQLException- Specified by:
- setSavepointin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
setSavepointpublic java.sql.Savepoint setSavepoint(java.lang.String name) throws java.sql.SQLException- Specified by:
- setSavepointin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
setTransactionIsolationpublic void setTransactionIsolation(int level) throws java.sql.SQLException- Specified by:
- setTransactionIsolationin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
setTypeMappublic void setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>> map) throws java.sql.SQLException- Specified by:
- setTypeMapin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
isWrapperForpublic boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException- Specified by:
- isWrapperForin interface- java.sql.Wrapper
- Throws:
- java.sql.SQLException
 
 - 
unwrappublic <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException- Specified by:
- unwrapin interface- java.sql.Wrapper
- Throws:
- java.sql.SQLException
 
 - 
closeWrappedprotected void closeWrapped() throws java.sql.SQLExceptionReduced visibility so that only the connection pool gets to close the underlying connection.- Throws:
- java.sql.SQLException
 
 - 
setSchemapublic void setSchema(java.lang.String schema) throws java.sql.SQLException- Specified by:
- setSchemain interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
getSchemapublic java.lang.String getSchema() throws java.sql.SQLException- Specified by:
- getSchemain interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
abortpublic void abort(java.util.concurrent.Executor executor) throws java.sql.SQLException- Specified by:
- abortin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
setNetworkTimeoutpublic void setNetworkTimeout(java.util.concurrent.Executor executor, int milliseconds) throws java.sql.SQLException- Specified by:
- setNetworkTimeoutin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 - 
getNetworkTimeoutpublic int getNetworkTimeout() throws java.sql.SQLException- Specified by:
- getNetworkTimeoutin interface- java.sql.Connection
- Throws:
- java.sql.SQLException
 
 
- 
 
-