Package org.nuiton.topia.framework
Class TopiaConnectionProvider
java.lang.Object
org.nuiton.topia.framework.TopiaConnectionProvider
- All Implemented Interfaces:
java.io.Serializable,org.hibernate.engine.jdbc.connections.spi.ConnectionProvider,org.hibernate.service.Service,org.hibernate.service.spi.Configurable,org.hibernate.service.spi.Stoppable,org.hibernate.service.spi.Wrapped
public class TopiaConnectionProvider
extends java.lang.Object
implements org.hibernate.engine.jdbc.connections.spi.ConnectionProvider, org.hibernate.service.spi.Configurable, org.hibernate.service.spi.Stoppable
Customized connection provider.
This provider fix the following bug :
http://nuiton.org/issues/show/561
To use this connection provider, add this property to topia configuration
config.setProperty(Environment.CONNECTION_PROVIDER, TopiaConnectionProvider.class.getName());or in a properties file :
hibernate.connection.provider_class=org.nuiton.topia.framework.TopiaConnectionProvider
- Since:
- 2.5.3
- Author:
- tchemit <chemit@codelutin.com>
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description protected booleanautocommitauto commit connection state.protected java.util.PropertiesconnectionPropsAll grabbed connection propertiesprotected java.lang.IntegerisolationSql isolation level to use in connection.protected java.util.List<java.sql.Connection>poolOur pool of connections which are not closed and availables.protected intpoolSizeSize of connection pool.protected java.lang.StringurlJDBC url of connection. -
Constructor Summary
Constructors Constructor Description TopiaConnectionProvider() -
Method Summary
Modifier and Type Method Description voidcloseConnection(java.sql.Connection conn)voidconfigure(java.util.Map configurationValues)protected voidfinalize()java.sql.ConnectiongetConnection()java.util.PropertiesgetConnectionProps()java.lang.IntegergetIsolation()java.util.List<java.sql.Connection>getPool()intgetPoolSize()java.lang.StringgetUrl()booleanisAutocommit()booleanisUnwrappableAs(java.lang.Class unwrapType)voidstop()booleansupportsAggressiveRelease()<T> Tunwrap(java.lang.Class<T> unwrapType)
-
Field Details
-
url
protected java.lang.String urlJDBC url of connection. This is a mandatory hibernate configuration vi the propertyAvailableSettings.URL. -
connectionProps
protected java.util.Properties connectionPropsAll grabbed connection properties -
isolation
protected java.lang.Integer isolationSql isolation level to use in connection. Can be configured by hibernate propertyAvailableSettings.ISOLATION.- See Also:
Connection.getTransactionIsolation()
-
autocommit
protected boolean autocommitauto commit connection state. Can be configured by hibernate propertyAvailableSettings.AUTOCOMMIT.- See Also:
Connection.getAutoCommit()
-
poolSize
protected int poolSizeSize of connection pool. By default use20, can be specify by using the hibernate configuration propertyAvailableSettings.POOL_SIZE. -
pool
protected final java.util.List<java.sql.Connection> poolOur pool of connections which are not closed and availables.
-
-
Constructor Details
-
TopiaConnectionProvider
public TopiaConnectionProvider()
-
-
Method Details
-
configure
public void configure(java.util.Map configurationValues) throws org.hibernate.HibernateException- Specified by:
configurein interfaceorg.hibernate.service.spi.Configurable- Throws:
org.hibernate.HibernateException
-
getConnection
public java.sql.Connection getConnection() throws java.sql.SQLException- Specified by:
getConnectionin interfaceorg.hibernate.engine.jdbc.connections.spi.ConnectionProvider- Throws:
java.sql.SQLException
-
closeConnection
public void closeConnection(java.sql.Connection conn) throws java.sql.SQLException- Specified by:
closeConnectionin interfaceorg.hibernate.engine.jdbc.connections.spi.ConnectionProvider- Throws:
java.sql.SQLException
-
finalize
protected void finalize() throws java.lang.Throwable- Overrides:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable
-
stop
public void stop()- Specified by:
stopin interfaceorg.hibernate.service.spi.Stoppable
-
supportsAggressiveRelease
public boolean supportsAggressiveRelease()- Specified by:
supportsAggressiveReleasein interfaceorg.hibernate.engine.jdbc.connections.spi.ConnectionProvider
-
getUrl
public java.lang.String getUrl() -
getConnectionProps
public java.util.Properties getConnectionProps() -
getIsolation
public java.lang.Integer getIsolation() -
getPool
public java.util.List<java.sql.Connection> getPool() -
getPoolSize
public int getPoolSize() -
isAutocommit
public boolean isAutocommit() -
isUnwrappableAs
public boolean isUnwrappableAs(java.lang.Class unwrapType)- Specified by:
isUnwrappableAsin interfaceorg.hibernate.service.spi.Wrapped
-
unwrap
public <T> T unwrap(java.lang.Class<T> unwrapType)- Specified by:
unwrapin interfaceorg.hibernate.service.spi.Wrapped
-