Class FBSimpleDataSource
- java.lang.Object
-
- org.firebirdsql.ds.RootCommonDataSource
-
- org.firebirdsql.ds.FBSimpleDataSource
-
- All Implemented Interfaces:
java.io.Serializable
,java.sql.Wrapper
,javax.naming.Referenceable
,javax.resource.Referenceable
,javax.sql.CommonDataSource
,javax.sql.DataSource
,FirebirdConnectionProperties
public class FBSimpleDataSource extends RootCommonDataSource implements javax.sql.DataSource, java.io.Serializable, javax.resource.Referenceable, FirebirdConnectionProperties
This is a simple implementation ofDataSource
interface. Connections are physically opened inDataSource.getConnection()
method and physically closed inConnection.close()
method.- Version:
- 1.0
- Author:
- Roman Rokytskyy, David Jencks
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
description
protected FBDataSource
ds
protected javax.naming.Reference
jndiReference
protected FBManagedConnectionFactory
mcf
-
Constructor Summary
Constructors Constructor Description FBSimpleDataSource()
Create instance of this class.FBSimpleDataSource(GDSType type)
Create instance of this class.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.lang.String
getAuthPlugins()
Get the list of authentication plugins to try.java.lang.Integer
getBlobBufferLength()
Get buffer length for the BLOB fields.int
getBlobBufferSize()
int
getBuffersNumber()
java.lang.String
getCharSet()
java.sql.Connection
getConnection()
Get JDBC connection with default credentials.java.sql.Connection
getConnection(java.lang.String username, java.lang.String password)
Get JDBC connection with the specified credentials.int
getConnectTimeout()
Get the current connect timeout.java.lang.String
getDatabase()
Get name of the database.java.lang.String
getDatabaseName()
Deprecated.usegetDatabase()
instead for the sake of naming compatibility.DatabaseParameterBuffer
getDatabaseParameterBuffer()
Get the database parameter buffer corresponding to the current connection request information.protected javax.sql.DataSource
getDataSource()
Get underlying connection factory (in our case instance ofFBDataSource
class) that will provide JDBC connections.java.lang.String
getDataTypeBind()
Get thedataTypeBind
configuration.java.lang.String
getDbCryptConfig()
Get the database encryption plugin configuration.java.lang.String
getDefaultIsolation()
Get the default transaction isolation level as string.int
getDefaultTransactionIsolation()
Get the default transaction isolation level.java.lang.String
getDescription()
Get description of this datasource.java.lang.String
getEncoding()
Get encoding for connections produced by this data source.java.lang.String
getGeneratedKeysEnabled()
Get thegeneratedKeysEnabled
configuration.int
getLoginTimeout()
java.lang.String
getNonStandardProperty(java.lang.String key)
Get the property that does not have corresponding getter method by its name.java.lang.String
getPassword()
Get password used ingetConnection()
method.javax.naming.Reference
getReference()
Get previously set JNDI reference.java.lang.String
getRoleName()
java.lang.String
getSessionTimeZone()
Get thesessionTimeZone
.int
getSocketBufferSize()
int
getSoTimeout()
Get the current Socket blocking timeout (SoTimeout).java.lang.String
getSqlDialect()
java.lang.String
getTpbMapping()
Get the used TPB mapping.TransactionParameterBuffer
getTransactionParameters(int isolation)
Get the transaction parameter buffer corresponding to the current connection request information.java.lang.String
getType()
java.lang.String
getUser()
Deprecated.usegetUserName()
instead for the sake of naming compatibility.java.lang.String
getUserName()
Get user name that is used ingetConnection()
method.java.lang.String
getWireCrypt()
Get the wire encryption level value.boolean
isDefaultResultSetHoldable()
Get the default ResultSet holdability.boolean
isIgnoreProcedureType()
Get the value forignoreProcedureType
.boolean
isTimestampUsesLocalTimezone()
boolean
isUseFirebirdAutocommit()
Get whether to use Firebird autocommit (experimental).boolean
isUseStandardUdf()
boolean
isUseStreamBlobs()
boolean
isWireCompression()
Get if wire compression should be enabled.boolean
isWrapperFor(java.lang.Class<?> iface)
void
setAuthPlugins(java.lang.String authPlugins)
Sets the authentication plugins to try.void
setBlobBufferLength(java.lang.Integer length)
Set BLOB buffer length.void
setBlobBufferSize(int bufferSize)
void
setBuffersNumber(int buffersNumber)
void
setCharSet(java.lang.String charSet)
void
setConnectTimeout(int connectTimeout)
Set the connect timeout.void
setDatabase(java.lang.String name)
Set database name.void
setDatabaseName(java.lang.String name)
Deprecated.usesetDatabase(String)
instead for the sake of naming compatibility.void
setDataTypeBind(java.lang.String dataTypeBind)
Sets thedataTypeBind
configuration.void
setDbCryptConfig(java.lang.String dbCryptConfig)
Sets the database encryption plugin configuration.void
setDefaultIsolation(java.lang.String isolation)
Set the default transaction isolation level as string.void
setDefaultResultSetHoldable(boolean isHoldable)
Sets the default ResultSet holdability.void
setDefaultTransactionIsolation(int defaultIsolationLevel)
Set the default transaction isolation level.void
setDescription(java.lang.String description)
Set description of this datasource.void
setEncoding(java.lang.String encoding)
Set encoding for connections produced by this data source.void
setGeneratedKeysEnabled(java.lang.String generatedKeysEnabled)
Sets thegeneratedKeysEnabled
configuration.void
setIgnoreProcedureType(boolean ignoreProcedureType)
Sets the valueignoreProcedureType
.void
setLoginTimeout(int loginTimeout)
void
setNonStandardProperty(java.lang.String propertyMapping)
Set the property that does not have corresponding setter method.void
setNonStandardProperty(java.lang.String key, java.lang.String value)
Set the property that does not have corresponding setter method.void
setPassword(java.lang.String password)
Set password that will be used in thegetConnection()
method.void
setReference(javax.naming.Reference reference)
Set JNDI reference for this data source.void
setRoleName(java.lang.String roleName)
void
setSessionTimeZone(java.lang.String sessionTimeZone)
Sets thesessionTimeZone
.void
setSocketBufferSize(int socketBufferSize)
void
setSoTimeout(int soTimeout)
Set the Socket blocking timeout (SoTimeout).void
setSqlDialect(java.lang.String sqlDialect)
void
setTimestampUsesLocalTimezone(boolean timestampUsesLocalTimezone)
void
setTpbMapping(java.lang.String tpbMapping)
Set path to the properties file with the TPB mapping.void
setTransactionParameters(int isolation, TransactionParameterBuffer tpb)
Set transaction parameters for the specified transaction isolation level.void
setType(java.lang.String type)
void
setUseFirebirdAutocommit(boolean useFirebirdAutocommit)
Set whether to use Firebird autocommit (experimental).void
setUser(java.lang.String user)
Deprecated.usesetUserName(String)
instead for the sake of naming compatibility.void
setUserName(java.lang.String userName)
Set user name that will be used ingetConnection()
method.void
setUseStandardUdf(boolean useStandardUdf)
void
setUseStreamBlobs(boolean useStreamBlobs)
void
setWireCompression(boolean wireCompression)
Sets if the connection should try to enable wire compression.void
setWireCrypt(java.lang.String wireCrypt)
Sets the wire encryption level.<T> T
unwrap(java.lang.Class<T> iface)
-
Methods inherited from class org.firebirdsql.ds.RootCommonDataSource
getLogWriter, getParentLogger, setLogWriter
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Field Detail
-
mcf
protected FBManagedConnectionFactory mcf
-
ds
protected transient FBDataSource ds
-
jndiReference
protected javax.naming.Reference jndiReference
-
description
protected java.lang.String description
-
-
Constructor Detail
-
FBSimpleDataSource
public FBSimpleDataSource()
Create instance of this class.
-
FBSimpleDataSource
public FBSimpleDataSource(GDSType type)
Create instance of this class.
-
-
Method Detail
-
getBlobBufferLength
public java.lang.Integer getBlobBufferLength()
Get buffer length for the BLOB fields.- Returns:
- length of BLOB buffer.
-
setBlobBufferLength
public void setBlobBufferLength(java.lang.Integer length)
Set BLOB buffer length. This value influences the performance when working with BLOB fields.- Parameters:
length
- new length of the BLOB buffer.
-
getDatabaseName
@Deprecated public java.lang.String getDatabaseName()
Deprecated.usegetDatabase()
instead for the sake of naming compatibility.Get name of the database.- Returns:
- database name, value is equal to the part of full JDBC URL without
the
jdbc:firebirdsql:
part.
-
setDatabaseName
@Deprecated public void setDatabaseName(java.lang.String name)
Deprecated.usesetDatabase(String)
instead for the sake of naming compatibility.Set database name.- Parameters:
name
- connection URL without"jdbc:firebirdsql:"
prefix ("//localhost:3050/c:/database/employee.fdb"
) for example).
-
getDatabase
public java.lang.String getDatabase()
Get name of the database.- Specified by:
getDatabase
in interfaceFirebirdConnectionProperties
- Returns:
- database name, value is equal to the part of full JDBC URL without
the
jdbc:firebirdsql:
part.
-
setDatabase
public void setDatabase(java.lang.String name)
Set database name.- Specified by:
setDatabase
in interfaceFirebirdConnectionProperties
- Parameters:
name
- connection URL without"jdbc:firebirdsql:"
prefix ("//localhost:3050/c:/database/employee.fdb"
) for example).
-
getUser
@Deprecated public java.lang.String getUser()
Deprecated.usegetUserName()
instead for the sake of naming compatibility.Get user name that is used ingetConnection()
method.- Returns:
- default user name.
-
setUser
@Deprecated public void setUser(java.lang.String user)
Deprecated.usesetUserName(String)
instead for the sake of naming compatibility.Set user name that will be used ingetConnection()
method.- Parameters:
user
- default user name.
-
getUserName
public java.lang.String getUserName()
Get user name that is used ingetConnection()
method.- Specified by:
getUserName
in interfaceFirebirdConnectionProperties
- Returns:
- default user name.
-
setUserName
public void setUserName(java.lang.String userName)
Set user name that will be used ingetConnection()
method.- Specified by:
setUserName
in interfaceFirebirdConnectionProperties
- Parameters:
userName
- default user name.
-
getPassword
public java.lang.String getPassword()
Get password used ingetConnection()
method.- Specified by:
getPassword
in interfaceFirebirdConnectionProperties
- Returns:
- password corresponding to the user name returned by
getUserName()
.
-
setPassword
public void setPassword(java.lang.String password)
Set password that will be used in thegetConnection()
method.- Specified by:
setPassword
in interfaceFirebirdConnectionProperties
- Parameters:
password
- password corresponding to the user name set insetUserName(String)
.
-
getEncoding
public java.lang.String getEncoding()
Get encoding for connections produced by this data source.- Specified by:
getEncoding
in interfaceFirebirdConnectionProperties
- Returns:
- encoding for the connection.
- See Also:
FirebirdConnectionProperties.setEncoding(String)
-
setEncoding
public void setEncoding(java.lang.String encoding)
Set encoding for connections produced by this data source.- Specified by:
setEncoding
in interfaceFirebirdConnectionProperties
- Parameters:
encoding
- encoding for the connection.
-
getTpbMapping
public java.lang.String getTpbMapping()
Description copied from interface:FirebirdConnectionProperties
Get the used TPB mapping.- Specified by:
getTpbMapping
in interfaceFirebirdConnectionProperties
- Returns:
- path to the TPB mapping.
- See Also:
FirebirdConnectionProperties.setTpbMapping(String)
-
setTpbMapping
public void setTpbMapping(java.lang.String tpbMapping)
Description copied from interface:FirebirdConnectionProperties
Set path to the properties file with the TPB mapping. The path begins with the protocol specification followed by the path to the resource. A special protocol"res:"
should be used to specify resource in the classpath. For the compatibility reasons, if no protocol is specified, classpath is used by default. Properties file contains a mapping between the transaction isolation level (name of the constant in theConnection
interface and a comma-separated list of TPB parameters.- Specified by:
setTpbMapping
in interfaceFirebirdConnectionProperties
- Parameters:
tpbMapping
- path to the properties file.
-
getBlobBufferSize
public int getBlobBufferSize()
- Specified by:
getBlobBufferSize
in interfaceFirebirdConnectionProperties
- Returns:
- BLOB buffer size in bytes.
-
getBuffersNumber
public int getBuffersNumber()
- Specified by:
getBuffersNumber
in interfaceFirebirdConnectionProperties
- Returns:
- number of cache buffers that should be allocated for this connection, should be specified for ClassicServer instances, SuperServer has a server-wide configuration parameter.
-
getCharSet
public java.lang.String getCharSet()
- Specified by:
getCharSet
in interfaceFirebirdConnectionProperties
- Returns:
- Character set for the connection.
- See Also:
FirebirdConnectionProperties.setCharSet(String)
-
getDatabaseParameterBuffer
public DatabaseParameterBuffer getDatabaseParameterBuffer() throws java.sql.SQLException
Description copied from interface:FirebirdConnectionProperties
Get the database parameter buffer corresponding to the current connection request information.- Specified by:
getDatabaseParameterBuffer
in interfaceFirebirdConnectionProperties
- Returns:
- instance of
DatabaseParameterBuffer
. - Throws:
java.sql.SQLException
- if database parameter buffer cannot be created.
-
getDefaultIsolation
public java.lang.String getDefaultIsolation()
Description copied from interface:FirebirdConnectionProperties
Get the default transaction isolation level as string. This method is complementary to theFirebirdConnectionProperties.getDefaultTransactionIsolation()
, however it takes a string as parameter instead of a numeric constant.- Specified by:
getDefaultIsolation
in interfaceFirebirdConnectionProperties
- Returns:
- default transaction isolation as string.
- See Also:
FirebirdConnectionProperties.setDefaultIsolation(String)
-
getDefaultTransactionIsolation
public int getDefaultTransactionIsolation()
Description copied from interface:FirebirdConnectionProperties
Get the default transaction isolation level. This is the transaction isolation level for the newly created connections.- Specified by:
getDefaultTransactionIsolation
in interfaceFirebirdConnectionProperties
- Returns:
- default transaction isolation level.
-
getNonStandardProperty
public java.lang.String getNonStandardProperty(java.lang.String key)
Description copied from interface:FirebirdConnectionProperties
Get the property that does not have corresponding getter method by its name.- Specified by:
getNonStandardProperty
in interfaceFirebirdConnectionProperties
- Parameters:
key
- name of the property to get.- Returns:
- value of the property.
-
getRoleName
public java.lang.String getRoleName()
- Specified by:
getRoleName
in interfaceFirebirdConnectionProperties
- Returns:
- SQL role to use.
-
getSocketBufferSize
public int getSocketBufferSize()
- Specified by:
getSocketBufferSize
in interfaceFirebirdConnectionProperties
- Returns:
- socket buffer size in bytes, or -1 is not specified.
-
getSqlDialect
public java.lang.String getSqlDialect()
- Specified by:
getSqlDialect
in interfaceFirebirdConnectionProperties
- Returns:
- SQL dialect of the client.
-
getTransactionParameters
public TransactionParameterBuffer getTransactionParameters(int isolation)
Description copied from interface:FirebirdConnectionProperties
Get the transaction parameter buffer corresponding to the current connection request information.- Specified by:
getTransactionParameters
in interfaceFirebirdConnectionProperties
- Parameters:
isolation
- transaction isolation level for which TPB should be returned.- Returns:
- instance of
TransactionParameterBuffer
.
-
getType
public java.lang.String getType()
- Specified by:
getType
in interfaceFirebirdConnectionProperties
- Returns:
- type of the connection, for example, "PURE_JAVA", "LOCAL", "EMBEDDED", depends on the GDS implementations installed in the system.
-
isTimestampUsesLocalTimezone
public boolean isTimestampUsesLocalTimezone()
- Specified by:
isTimestampUsesLocalTimezone
in interfaceFirebirdConnectionProperties
- Returns:
true
if the Jaybird 1.0 handling of the calendar in corresponding setters. This is also compatible with MySQL calendar treatment.
-
isUseStandardUdf
public boolean isUseStandardUdf()
- Specified by:
isUseStandardUdf
in interfaceFirebirdConnectionProperties
- Returns:
true
if driver should assume that standard UDF are installed.
-
isUseStreamBlobs
public boolean isUseStreamBlobs()
- Specified by:
isUseStreamBlobs
in interfaceFirebirdConnectionProperties
- Returns:
true
if stream blobs should be created, otherwisefalse
.
-
setBlobBufferSize
public void setBlobBufferSize(int bufferSize)
- Specified by:
setBlobBufferSize
in interfaceFirebirdConnectionProperties
- Parameters:
bufferSize
- size of the BLOB buffer in bytes.
-
setBuffersNumber
public void setBuffersNumber(int buffersNumber)
- Specified by:
setBuffersNumber
in interfaceFirebirdConnectionProperties
- Parameters:
buffersNumber
- number of cache buffers that should be allocated for this connection, should be specified for ClassicServer instances, SuperServer has a server-wide configuration parameter.
-
setCharSet
public void setCharSet(java.lang.String charSet)
- Specified by:
setCharSet
in interfaceFirebirdConnectionProperties
- Parameters:
charSet
- Character set for the connection. Similar toencoding
property, but accepts Java names instead of Firebird ones.
-
setDefaultIsolation
public void setDefaultIsolation(java.lang.String isolation)
Description copied from interface:FirebirdConnectionProperties
Set the default transaction isolation level as string. This method is complementary to theFirebirdConnectionProperties.setDefaultTransactionIsolation(int)
, however it takes a string as parameter instead of a numeric constant. Following strings are allowed:"TRANSACTION_READ_COMMITTED"
for a READ COMMITTED isolation level."TRANSACTION_REPEATABLE_READ"
for a REPEATABLE READ isolation level."TRANSACTION_SERIALIZABLE"
for a SERIALIZABLE isolation level.
- Specified by:
setDefaultIsolation
in interfaceFirebirdConnectionProperties
- Parameters:
isolation
- string constant representing a default isolation level.
-
setDefaultTransactionIsolation
public void setDefaultTransactionIsolation(int defaultIsolationLevel)
Description copied from interface:FirebirdConnectionProperties
Set the default transaction isolation level.- Specified by:
setDefaultTransactionIsolation
in interfaceFirebirdConnectionProperties
- Parameters:
defaultIsolationLevel
- default transaction isolation level.
-
setNonStandardProperty
public void setNonStandardProperty(java.lang.String key, java.lang.String value)
Description copied from interface:FirebirdConnectionProperties
Set the property that does not have corresponding setter method.- Specified by:
setNonStandardProperty
in interfaceFirebirdConnectionProperties
- Parameters:
key
- name of the property to set.value
- value of the property.
-
setNonStandardProperty
public void setNonStandardProperty(java.lang.String propertyMapping)
Description copied from interface:FirebirdConnectionProperties
Set the property that does not have corresponding setter method.- Specified by:
setNonStandardProperty
in interfaceFirebirdConnectionProperties
- Parameters:
propertyMapping
- parameter value in the ?propertyName[=propertyValue]? form, this allows setting non-standard parameters using configuration files.
-
setRoleName
public void setRoleName(java.lang.String roleName)
- Specified by:
setRoleName
in interfaceFirebirdConnectionProperties
- Parameters:
roleName
- SQL role to use.
-
setSocketBufferSize
public void setSocketBufferSize(int socketBufferSize)
- Specified by:
setSocketBufferSize
in interfaceFirebirdConnectionProperties
- Parameters:
socketBufferSize
- socket buffer size in bytes.
-
setSqlDialect
public void setSqlDialect(java.lang.String sqlDialect)
- Specified by:
setSqlDialect
in interfaceFirebirdConnectionProperties
- Parameters:
sqlDialect
- SQL dialect of the client.
-
setTimestampUsesLocalTimezone
public void setTimestampUsesLocalTimezone(boolean timestampUsesLocalTimezone)
- Specified by:
setTimestampUsesLocalTimezone
in interfaceFirebirdConnectionProperties
- Parameters:
timestampUsesLocalTimezone
-true
if the Jaybird 1.0 handling of the calendar in corresponding setters. This is also compatible with MySQL calendar treatment.
-
setTransactionParameters
public void setTransactionParameters(int isolation, TransactionParameterBuffer tpb)
Description copied from interface:FirebirdConnectionProperties
Set transaction parameters for the specified transaction isolation level. The specified TPB is used as a default mapping for the specified isolation level.- Specified by:
setTransactionParameters
in interfaceFirebirdConnectionProperties
- Parameters:
isolation
- transaction isolation level.tpb
- instance ofTransactionParameterBuffer
containing transaction parameters.
-
setType
public void setType(java.lang.String type)
- Specified by:
setType
in interfaceFirebirdConnectionProperties
- Parameters:
type
- type of the connection, for example, "PURE_JAVA", "LOCAL", "EMBEDDED", depends on the GDS implementations installed in the system.
-
setUseStandardUdf
public void setUseStandardUdf(boolean useStandardUdf)
- Specified by:
setUseStandardUdf
in interfaceFirebirdConnectionProperties
- Parameters:
useStandardUdf
-true
if driver should assume that standard UDF are installed.
-
setUseStreamBlobs
public void setUseStreamBlobs(boolean useStreamBlobs)
- Specified by:
setUseStreamBlobs
in interfaceFirebirdConnectionProperties
- Parameters:
useStreamBlobs
-true
if stream blobs should be created, otherwisefalse
.
-
isDefaultResultSetHoldable
public boolean isDefaultResultSetHoldable()
Description copied from interface:FirebirdConnectionProperties
Get the default ResultSet holdability.- Specified by:
isDefaultResultSetHoldable
in interfaceFirebirdConnectionProperties
- Returns:
true
when ResultSets are holdable by default,false
not holdable.
-
setDefaultResultSetHoldable
public void setDefaultResultSetHoldable(boolean isHoldable)
Description copied from interface:FirebirdConnectionProperties
Sets the default ResultSet holdability.- Specified by:
setDefaultResultSetHoldable
in interfaceFirebirdConnectionProperties
- Parameters:
isHoldable
-true
when ResultSets are holdable by default,false
not holdable.
-
getSoTimeout
public int getSoTimeout()
Description copied from interface:FirebirdConnectionProperties
Get the current Socket blocking timeout (SoTimeout).- Specified by:
getSoTimeout
in interfaceFirebirdConnectionProperties
- Returns:
- The socket blocking timeout in milliseconds (0 is 'infinite')
-
setSoTimeout
public void setSoTimeout(int soTimeout)
Description copied from interface:FirebirdConnectionProperties
Set the Socket blocking timeout (SoTimeout).- Specified by:
setSoTimeout
in interfaceFirebirdConnectionProperties
- Parameters:
soTimeout
- Timeout in milliseconds (0 is 'infinite')
-
getConnectTimeout
public int getConnectTimeout()
Description copied from interface:FirebirdConnectionProperties
Get the current connect timeout.- Specified by:
getConnectTimeout
in interfaceFirebirdConnectionProperties
- Returns:
- Connect timeout in seconds (0 is 'infinite', or better: OS specific timeout)
-
setConnectTimeout
public void setConnectTimeout(int connectTimeout)
Description copied from interface:FirebirdConnectionProperties
Set the connect timeout.- Specified by:
setConnectTimeout
in interfaceFirebirdConnectionProperties
- Parameters:
connectTimeout
- Connect timeout in seconds (0 is 'infinite', or better: OS specific timeout)
-
isUseFirebirdAutocommit
public boolean isUseFirebirdAutocommit()
Description copied from interface:FirebirdConnectionProperties
Get whether to use Firebird autocommit (experimental).- Specified by:
isUseFirebirdAutocommit
in interfaceFirebirdConnectionProperties
- Returns:
true
use Firebird autocommit
-
setUseFirebirdAutocommit
public void setUseFirebirdAutocommit(boolean useFirebirdAutocommit)
Description copied from interface:FirebirdConnectionProperties
Set whether to use Firebird autocommit (experimental).- Specified by:
setUseFirebirdAutocommit
in interfaceFirebirdConnectionProperties
- Parameters:
useFirebirdAutocommit
-true
Use Firebird autocommit
-
getWireCrypt
public java.lang.String getWireCrypt()
Description copied from interface:FirebirdConnectionProperties
Get the wire encryption level value.- Specified by:
getWireCrypt
in interfaceFirebirdConnectionProperties
- Returns:
- Wire encryption level (
null
impliesDEFAULT
)
-
setWireCrypt
public void setWireCrypt(java.lang.String wireCrypt)
Description copied from interface:FirebirdConnectionProperties
Sets the wire encryption level.Values are defined by
WireCrypt
, values are handled case insensitive. Invalid values are accepted, but will cause an error when a connection is established.- Specified by:
setWireCrypt
in interfaceFirebirdConnectionProperties
- Parameters:
wireCrypt
- Wire encryption level
-
getDbCryptConfig
public java.lang.String getDbCryptConfig()
Description copied from interface:FirebirdConnectionProperties
Get the database encryption plugin configuration.- Specified by:
getDbCryptConfig
in interfaceFirebirdConnectionProperties
- Returns:
- Database encryption plugin configuration, meaning plugin specific
-
setDbCryptConfig
public void setDbCryptConfig(java.lang.String dbCryptConfig)
Description copied from interface:FirebirdConnectionProperties
Sets the database encryption plugin configuration.- Specified by:
setDbCryptConfig
in interfaceFirebirdConnectionProperties
- Parameters:
dbCryptConfig
- Database encryption plugin configuration, meaning plugin specific
-
getAuthPlugins
public java.lang.String getAuthPlugins()
Description copied from interface:FirebirdConnectionProperties
Get the list of authentication plugins to try.- Specified by:
getAuthPlugins
in interfaceFirebirdConnectionProperties
- Returns:
- comma-separated list of authentication plugins, or
null
for driver default
-
setAuthPlugins
public void setAuthPlugins(java.lang.String authPlugins)
Description copied from interface:FirebirdConnectionProperties
Sets the authentication plugins to try.Invalid names are skipped during authentication.
- Specified by:
setAuthPlugins
in interfaceFirebirdConnectionProperties
- Parameters:
authPlugins
- comma-separated list of authentication plugins, ornull
for driver default
-
getGeneratedKeysEnabled
public java.lang.String getGeneratedKeysEnabled()
Description copied from interface:FirebirdConnectionProperties
Get thegeneratedKeysEnabled
configuration.- Specified by:
getGeneratedKeysEnabled
in interfaceFirebirdConnectionProperties
- Returns:
- configuration value for
generatedKeysEnabled
, ornull
for driver default
-
setGeneratedKeysEnabled
public void setGeneratedKeysEnabled(java.lang.String generatedKeysEnabled)
Description copied from interface:FirebirdConnectionProperties
Sets thegeneratedKeysEnabled
configuration.- Specified by:
setGeneratedKeysEnabled
in interfaceFirebirdConnectionProperties
- Parameters:
generatedKeysEnabled
- Generated keys support configuration:default
(or null/empty),disabled
,ignored
, or a list of statement types to enable (possible values:insert
,update
,delete
,update_or_insert
,merge
)
-
getDataTypeBind
public java.lang.String getDataTypeBind()
Description copied from interface:FirebirdConnectionProperties
Get thedataTypeBind
configuration.- Specified by:
getDataTypeBind
in interfaceFirebirdConnectionProperties
- Returns:
- configuration value for
dataTypeBind
, ornull
for driver default
-
setDataTypeBind
public void setDataTypeBind(java.lang.String dataTypeBind)
Description copied from interface:FirebirdConnectionProperties
Sets thedataTypeBind
configuration.If the value is explicitly set to a non-null value and the connected server is Firebird 4 or higher, this will configure the data type binding with the specified values using
isc_dpb_set_bind
, which is equivalent to executingSET BIND
statements with the values.See also Firebird documentation for
SET BIND
.- Specified by:
setDataTypeBind
in interfaceFirebirdConnectionProperties
- Parameters:
dataTypeBind
- Firebird 4+ data type bind configuration, a semicolon-separated list of<from-type> TO <to-type>
-
getSessionTimeZone
public java.lang.String getSessionTimeZone()
Description copied from interface:FirebirdConnectionProperties
Get thesessionTimeZone
.- Specified by:
getSessionTimeZone
in interfaceFirebirdConnectionProperties
- Returns:
- value for
sessionTimeZone
, ornull
for driver default (JVM default time zone)
-
setSessionTimeZone
public void setSessionTimeZone(java.lang.String sessionTimeZone)
Description copied from interface:FirebirdConnectionProperties
Sets thesessionTimeZone
.- Specified by:
setSessionTimeZone
in interfaceFirebirdConnectionProperties
- Parameters:
sessionTimeZone
- Firebird 4+ session time zone name (we strongly suggest to use Java compatible names only), use"server"
to use server default time zone (note: conversion will use JVM default time zone)
-
isIgnoreProcedureType
public boolean isIgnoreProcedureType()
Description copied from interface:FirebirdConnectionProperties
Get the value forignoreProcedureType
.- Specified by:
isIgnoreProcedureType
in interfaceFirebirdConnectionProperties
- Returns:
- value for
ignoreProcedureType
-
setIgnoreProcedureType
public void setIgnoreProcedureType(boolean ignoreProcedureType)
Description copied from interface:FirebirdConnectionProperties
Sets the valueignoreProcedureType
.When set to true, the
CallableStatement
implementation in Jaybird will ignore metadata information about the stored procedure type and default to usingEXECUTE PROCEDURE
, unless the type is explicitly set usingFirebirdCallableStatement.setSelectableProcedure(boolean)
. This can be useful in situations where a stored procedure is selectable, but tooling or code expects an executable stored procedure.- Specified by:
setIgnoreProcedureType
in interfaceFirebirdConnectionProperties
- Parameters:
ignoreProcedureType
-true
Ignore procedure type
-
isWireCompression
public boolean isWireCompression()
Description copied from interface:FirebirdConnectionProperties
Get if wire compression should be enabled.Wire compression requires Firebird 3 or higher, and the server must have the zlib library. If compression cannot be negotiated, the connection will be made without wire compression.
This property will be ignored for native connections. For native connections, the configuration in
firebird.conf
read by the client library will be used.- Specified by:
isWireCompression
in interfaceFirebirdConnectionProperties
- Returns:
true
wire compression enabled
-
setWireCompression
public void setWireCompression(boolean wireCompression)
Description copied from interface:FirebirdConnectionProperties
Sets if the connection should try to enable wire compression.- Specified by:
setWireCompression
in interfaceFirebirdConnectionProperties
- Parameters:
wireCompression
-true
enable wire compression,false
disable wire compression (the default)- See Also:
FirebirdConnectionProperties.isWireCompression()
-
getReference
public javax.naming.Reference getReference() throws javax.naming.NamingException
Get previously set JNDI reference.- Specified by:
getReference
in interfacejavax.naming.Referenceable
- Returns:
- instance of
Reference
set previously. - Throws:
javax.naming.NamingException
- if something went wrong.
-
setReference
public void setReference(javax.naming.Reference reference)
Set JNDI reference for this data source.- Specified by:
setReference
in interfacejavax.resource.Referenceable
- Parameters:
reference
- reference to set.
-
getConnection
public java.sql.Connection getConnection() throws java.sql.SQLException
Get JDBC connection with default credentials.- Specified by:
getConnection
in interfacejavax.sql.DataSource
- Returns:
- new JDBC connection.
- Throws:
java.sql.SQLException
- if something went wrong.
-
getConnection
public java.sql.Connection getConnection(java.lang.String username, java.lang.String password) throws java.sql.SQLException
Get JDBC connection with the specified credentials.- Specified by:
getConnection
in interfacejavax.sql.DataSource
- Parameters:
username
- user name for the connection.password
- password for the connection.- Returns:
- new JDBC connection.
- Throws:
java.sql.SQLException
- if something went wrong.
-
getLoginTimeout
public int getLoginTimeout() throws java.sql.SQLException
This property is an alias for the connectTimeout property.
- Specified by:
getLoginTimeout
in interfacejavax.sql.CommonDataSource
- Specified by:
getLoginTimeout
in interfacejavax.sql.DataSource
- Throws:
java.sql.SQLException
-
setLoginTimeout
public void setLoginTimeout(int loginTimeout) throws java.sql.SQLException
This property is an alias for the connectTimeout property.
- Specified by:
setLoginTimeout
in interfacejavax.sql.CommonDataSource
- Specified by:
setLoginTimeout
in interfacejavax.sql.DataSource
- Throws:
java.sql.SQLException
-
getDescription
public java.lang.String getDescription()
Get description of this datasource.- Returns:
- description of this datasource.
-
setDescription
public void setDescription(java.lang.String description)
Set description of this datasource.- Parameters:
description
- description of this datasource.
-
getDataSource
protected javax.sql.DataSource getDataSource() throws java.sql.SQLException
Get underlying connection factory (in our case instance ofFBDataSource
class) that will provide JDBC connections.- Returns:
- JDBC connection factory.
- Throws:
java.sql.SQLException
- if something went wrong.
-
isWrapperFor
public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException
- Specified by:
isWrapperFor
in interfacejava.sql.Wrapper
- Throws:
java.sql.SQLException
-
unwrap
public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException
- Specified by:
unwrap
in interfacejava.sql.Wrapper
- Throws:
java.sql.SQLException
-
-