Package com.logicaldoc.core.util

# Class ConnectionPool

java.lang.Object
com.logicaldoc.core.util.ConnectionPool

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`, `Wrapper`, `CommonDataSource`, `DataSource`

public class ConnectionPool extends Object implements DataSource, Closeable
A configurable connection pool that wraps different technologies, you decide the implementation through the implementation setting: hikari or dbcp

Since:
  8.2
Author:
  Marco Meschieri - LogicalDOC

## Constructor Summary

Constructors
Constructor
Description
`ConnectionPool()`

## Method Summary

Modifier and Type
Method
Description
`void`
`close()`
`Connection`
`getConnection()`
`Connection`
`getConnection(String username, String password)`
`int`
`getLoginTimeout()`
`PrintWriter`
`getLogWriter()`
`Logger`
`getParentLogger()`
`DataSource`
`getWrappedDataSource()`
`void`
`init()`
`boolean`
`isWrapperFor(Class<?> iface)`
`void`
`setDbcpConfig(DbcpConfiguration dbcpConfig)`
`void`
`setHikariConfig(com.zaxxer.hikari.HikariConfig hikaryConfig)`
`void`
`setImplementation(String implementation)`
`void`
`setLoginTimeout(int seconds)`
`void`
`setLogWriter(PrintWriter out)`
`<T> T`
`unwrap(Class<T> iface)`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface javax.sql.CommonDataSource

`createShardingKeyBuilder`

### Methods inherited from interface javax.sql.DataSource

`createConnectionBuilder`

## Constructor Details

### ConnectionPool

public ConnectionPool()

## Method Details

### getWrappedDataSource

public DataSource getWrappedDataSource()

### setHikariConfig

public void setHikariConfig(com.zaxxer.hikari.HikariConfig hikaryConfig)

### getLogWriter

public PrintWriter getLogWriter() throws SQLException

Specified by:
  `getLogWriter` in interface `CommonDataSource`
Specified by:
  `getLogWriter` in interface `DataSource`
Throws:
  `SQLException`

### unwrap

public <T> T unwrap(Class<T> iface) throws SQLException

Specified by:
  `unwrap` in interface `Wrapper`
Throws:
  `SQLException`

### setLogWriter

public void setLogWriter(PrintWriter out) throws SQLException

Specified by:
  `setLogWriter` in interface `CommonDataSource`
Specified by:
  `setLogWriter` in interface `DataSource`
Throws:
  `SQLException`

### isWrapperFor

public boolean isWrapperFor(Class<?> iface) throws SQLException

Specified by:
  `isWrapperFor` in interface `Wrapper`
Throws:
  `SQLException`

### getConnection

public Connection getConnection() throws SQLException

Specified by:
  `getConnection` in interface `DataSource`
Throws:
  `SQLException`

### setLoginTimeout

public void setLoginTimeout(int seconds) throws SQLException

Specified by:
  `setLoginTimeout` in interface `CommonDataSource`
Specified by:
  `setLoginTimeout` in interface `DataSource`
Throws:
  `SQLException`

### getConnection

public Connection getConnection(String username, String password) throws SQLException

Specified by:
  `getConnection` in interface `DataSource`
Throws:
  `SQLException`

### getLoginTimeout

public int getLoginTimeout() throws SQLException

Specified by:
  `getLoginTimeout` in interface `CommonDataSource`
Specified by:
  `getLoginTimeout` in interface `DataSource`
Throws:
  `SQLException`

### getParentLogger

public Logger getParentLogger() throws SQLFeatureNotSupportedException

Specified by:
  `getParentLogger` in interface `CommonDataSource`
Throws:
  `SQLFeatureNotSupportedException`

### init

public void init()

### close

public void close() throws IOException

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Closeable`
Throws:
  `IOException`

### setImplementation

public void setImplementation(String implementation)

### setDbcpConfig

public void setDbcpConfig(DbcpConfiguration dbcpConfig)