- All Implemented Interfaces:
Serializable,Wrapper,Referenceable,CommonDataSource,DataSource,AttachmentProperties,BaseProperties,DatabaseConnectionProperties,FirebirdConnectionProperties
DataSource interface. Connections
are physically opened in DataSource.getConnection() method and
physically closed in Connection.close() method.
If you need a standalone connection pool, consider using a connection pool implementation like HikariCP, c3p0 or DBCP.
- Author:
- Roman Rokytskyy, David Jencks
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringprotected FBDataSourceprotected final FBManagedConnectionFactory -
Constructor Summary
ConstructorsConstructorDescriptionCreates an instance using the default GDS type (PURE_JAVA).FBSimpleDataSource(GDSType type) Creates an instance using the specified GDS type. -
Method Summary
Modifier and TypeMethodDescriptionAn unmodifiable view on the connection properties held by this BaseProperties implementation.getBooleanProperty(String name) Retrieves abooleanproperty value by name.Get JDBC connection with default credentials.getConnection(String username, String password) Get JDBC connection with the specified credentials.protected DataSourceGet underlying connection factory (an instance ofFBDataSourceclass) that will provide JDBC connections.Get description of this datasource.getIntProperty(String name) Retrieves anintproperty value by name.getProperty(String name) Retrieves a string property value by name.getTransactionParameters(int isolation) Get the transaction parameter buffer corresponding to the current connection request information.booleanisWrapperFor(Class<?> iface) voidsetBooleanProperty(String name, Boolean value) Sets abooleanproperty by name.voidsetDescription(String description) Set description of this datasource.voidsetIntProperty(String name, Integer value) Sets anintproperty by name.voidsetNonStandardProperty(String propertyMapping) Set the property that does not have corresponding setter method.voidsetProperty(String name, String value) Sets a property by name.voidsetTransactionParameters(int isolation, TransactionParameterBuffer tpb) Set transaction parameters for the specified transaction isolation level.<T> TMethods inherited from class org.firebirdsql.ds.AbstractConnectionPropertiesDataSource
getAuthPlugins, getBlobBufferSize, getCharSet, getConnectTimeout, getDatabaseName, getDataTypeBind, getDbCryptConfig, getDecfloatRound, getDecfloatTraps, getDefaultIsolation, getDefaultTransactionIsolation, getEnableProtocol, getEncoding, getGeneratedKeysEnabled, getLoginTimeout, getPageCacheSize, getParallelWorkers, getPassword, getPortNumber, getProcessId, getProcessName, getReportSQLWarnings, getRoleName, getScrollableCursor, getServerBatchBufferSize, getServerName, getSessionTimeZone, getSocketBufferSize, getSocketFactory, getSoTimeout, getSqlDialect, getTpbMapping, getType, getUser, getUserName, getWireCrypt, isAllowTxStmts, isAsyncFetch, isColumnLabelForName, isCreateDatabaseIfNotExist, isDefaultResultSetHoldable, isExtendedMetadata, isIgnoreProcedureType, isUseCatalogAsPackage, isUseFirebirdAutocommit, isUseServerBatch, isUseStreamBlobs, isWireCompression, setAllowTxStmts, setAsyncFetch, setAuthPlugins, setBlobBufferSize, setCharSet, setColumnLabelForName, setConnectTimeout, setCreateDatabaseIfNotExist, setDatabaseName, setDataTypeBind, setDbCryptConfig, setDecfloatRound, setDecfloatTraps, setDefaultIsolation, setDefaultResultSetHoldable, setDefaultTransactionIsolation, setEnableProtocol, setEncoding, setExtendedMetadata, setGeneratedKeysEnabled, setIgnoreProcedureType, setLoginTimeout, setPageCacheSize, setParallelWorkers, setPassword, setPortNumber, setProcessId, setProcessName, setReportSQLWarnings, setRoleName, setScrollableCursor, setServerBatchBufferSize, setServerName, setSessionTimeZone, setSocketBufferSize, setSocketFactory, setSoTimeout, setSqlDialect, setTpbMapping, setType, setUseCatalogAsPackage, setUseFirebirdAutocommit, setUser, setUserName, setUseServerBatch, setUseStreamBlobs, setWireCompression, setWireCryptMethods inherited from class org.firebirdsql.ds.RootCommonDataSource
getLogWriter, getParentLogger, setLogWriterMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.firebirdsql.jaybird.props.BaseProperties
getBooleanProperty, getIntProperty, getPropertyMethods inherited from interface javax.sql.CommonDataSource
createShardingKeyBuilder, getParentLoggerMethods inherited from interface javax.sql.DataSource
createConnectionBuilder, getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter
-
Field Details
-
mcf
-
ds
-
description
-
-
Constructor Details
-
FBSimpleDataSource
public FBSimpleDataSource()Creates an instance using the default GDS type (PURE_JAVA). -
FBSimpleDataSource
Creates an instance using the specified GDS type.- Parameters:
type- GDS type
-
-
Method Details
-
getTransactionParameters
Description copied from interface:FirebirdConnectionPropertiesGet the transaction parameter buffer corresponding to the current connection request information.- Specified by:
getTransactionParametersin interfaceFirebirdConnectionProperties- Parameters:
isolation- transaction isolation level for which TPB should be returned.- Returns:
- instance of
TransactionParameterBuffer.
-
setTransactionParameters
Description copied from interface:FirebirdConnectionPropertiesSet transaction parameters for the specified transaction isolation level. The specified TPB is used as a default mapping for the specified isolation level.- Specified by:
setTransactionParametersin interfaceFirebirdConnectionProperties- Parameters:
isolation- transaction isolation level.tpb- instance ofTransactionParameterBuffercontaining transaction parameters.
-
setNonStandardProperty
Description copied from interface:FirebirdConnectionPropertiesSet the property that does not have corresponding setter method.- Specified by:
setNonStandardPropertyin interfaceFirebirdConnectionProperties- Parameters:
propertyMapping- parameter value in thepropertyName[=propertyValue]form, this allows setting non-standard parameters using configuration files.
-
getProperty
Description copied from interface:BasePropertiesRetrieves a string property value by name.For properties with an explicit default, this method should return the string presentation of that default, not
null. Forintorbooleanthe string equivalent is returned.- Specified by:
getPropertyin interfaceBaseProperties- Parameters:
name- Property name (notnullor empty)- Returns:
- Value of the property, or
nullwhen not set or not a known property
-
setProperty
Description copied from interface:BasePropertiesSets a property by name.This method can be used to set all defined properties, but also properties not known by Jaybird. When setting
intorbooleanproperties, the appropriate conversions are applied. Usingnullwill reset to the default value. Forbooleanproperties, an empty string is taken to meantrue.- Specified by:
setPropertyin interfaceBaseProperties- Parameters:
name- Property name (notnullor empty)value- Property value (usenullto apply default)
-
getIntProperty
Description copied from interface:BasePropertiesRetrieves anintproperty value by name.For properties with an explicit default, this method should return the integer presentation of that default. For implementation simplicity, it is allowed to convert any string property to
intinstead of checking if something is actually anintproperty- Specified by:
getIntPropertyin interfaceBaseProperties- Parameters:
name- Property name (notnullor empty)- Returns:
- Integer with value of the property, or
nullwhen not set
-
setIntProperty
Description copied from interface:BasePropertiesSets anintproperty by name.For implementation simplicity, it is allowed to also set string properties. The value set will be the string equivalent.
- Specified by:
setIntPropertyin interfaceBaseProperties- Parameters:
name- Property name (notnullor empty)value- Property value (usenullto apply default)
-
getBooleanProperty
Description copied from interface:BasePropertiesRetrieves abooleanproperty value by name.For properties with an explicit default, this method should return the boolean presentation of that default. For implementation simplicity, it is allowed to convert any string property to
booleaninstead of checking if something is actually abooleanproperty- Specified by:
getBooleanPropertyin interfaceBaseProperties- Parameters:
name- Property name (notnullor empty)- Returns:
- Integer with value of the property, or
nullwhen not set
-
setBooleanProperty
Description copied from interface:BasePropertiesSets abooleanproperty by name.For implementation simplicity, it is allowed to also set string properties. The value set will be the string equivalent.
- Specified by:
setBooleanPropertyin interfaceBaseProperties- Parameters:
name- Property name (notnullor empty)value- Property value (usenullto apply default)
-
connectionPropertyValues
Description copied from interface:BasePropertiesAn unmodifiable view on the connection properties held by this BaseProperties implementation.Be aware, implementations can have additional properties that are not mapped from
ConnectionProperty. Such properties will need to be retrieved in an implementation-specific manner.- Specified by:
connectionPropertyValuesin interfaceBaseProperties- Returns:
- An unmodifiable view on the property values held in this properties instance
-
getReference
- Specified by:
getReferencein interfaceReferenceable- Throws:
NamingException
-
getConnection
Get JDBC connection with default credentials.- Specified by:
getConnectionin interfaceDataSource- Returns:
- new JDBC connection.
- Throws:
SQLException- if something went wrong.
-
getConnection
Get JDBC connection with the specified credentials.- Specified by:
getConnectionin interfaceDataSource- Parameters:
username- username for the connection.password- password for the connection.- Returns:
- new JDBC connection.
- Throws:
SQLException- if something went wrong.
-
getDescription
Get description of this datasource.- Returns:
- description of this datasource.
-
setDescription
Set description of this datasource.- Parameters:
description- description of this datasource.
-
getDataSource
Get underlying connection factory (an instance ofFBDataSourceclass) that will provide JDBC connections.- Returns:
- JDBC connection factory.
- Throws:
SQLException- if something went wrong.
-
isWrapperFor
- Specified by:
isWrapperForin interfaceWrapper- Throws:
SQLException
-
unwrap
- Specified by:
unwrapin interfaceWrapper- Throws:
SQLException
-