org.apache.ignite

## Class IgniteJdbcThinDataSource

- java.lang.Object
- - org.apache.ignite.IgniteJdbcThinDataSource

All Implemented Interfaces:
  Serializable, Wrapper, CommonDataSource, DataSource

    public class IgniteJdbcThinDataSource
    extends Object
    implements DataSource, Serializable

JDBC thin DataSource implementation.

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`IgniteJdbcThinDataSource()`

### Method Summary

All Methods Instance Methods Concrete Methods
`String[]` `getAddresses()`
`Connection` `getConnection()`
`Connection` `getConnection(String username, String pwd)`
`int` `getLoginTimeout()`
`PrintWriter` `getLogWriter()`
`Logger` `getParentLogger()`
`String` `getPassword()`
`String` `getSchema()`
`int` `getSocketReceiveBuffer()`
`int` `getSocketSendBuffer()`
`String` `getSslClientCertificateKeyStorePassword()` Gets key store password.
`String` `getSslClientCertificateKeyStoreType()` Gets key store type used for context creation.
`String` `getSslClientCertificateKeyStoreUrl()` Gets the key store URL.
`String` `getSslFactory()` Gets the class name of the custom implementation of the Factory<SSLSocketFactory>.
`String` `getSslKeyAlgorithm()` Gets algorithm that will be used to create a key manager.
`String` `getSslMode()` Gets SSL connection mode.
`String` `getSslProtocol()` Gets protocol for secure transport.
`String` `getSslTrustCertificateKeyStorePassword()` Gets trust store password.
`String` `getSslTrustCertificateKeyStoreType()` Gets trust store type.
`String` `getSslTrustCertificateKeyStoreUrl()` Gets the trust store URL.
`String` `getUrl()`
`String` `getURL()` Different application servers us different format (URL & url).
`String` `getUsername()`
`boolean` `isAutoCloseServerCursor()`
`boolean` `isCollocated()`
`boolean` `isDistributedJoins()`
`boolean` `isEnforceJoinOrder()`
`boolean` `isLazy()`
`boolean` `isReplicatedOnly()`
`boolean` `isSkipReducerOnUpdate()`
`boolean` `isSslTrustAll()` Gets trust any server certificate flag.
`boolean` `isTcpNoDelay()`
`boolean` `isWrapperFor(Class<?> iface)`
`void` `setAddresses(String... addrsStr)` Sets the addresses of the Ignite nodes to connect; address string format: `host[:portRangeFrom[..portRangeTo]]`.
`void` `setAutoCloseServerCursor(boolean autoCloseServerCursor)`
`void` `setCollocated(boolean collocated)`
`void` `setDistributedJoins(boolean distributedJoins)`
`void` `setEnforceJoinOrder(boolean enforceJoinOrder)`
`void` `setLazy(boolean lazy)`
`void` `setLoginTimeout(int seconds)`
`void` `setLogWriter(PrintWriter out)`
`void` `setPassword(String passwd)`
`void` `setReplicatedOnly(boolean replicatedOnly)`
`void` `setSchema(String schema)`
`void` `setSkipReducerOnUpdate(boolean skipReducerOnUpdate)`
`void` `setSocketReceiveBuffer(int size)`
`void` `setSocketSendBuffer(int size)`
`void` `setSslClientCertificateKeyStorePassword(String passwd)` Sets key store password.
`void` `setSslClientCertificateKeyStoreType(String ksType)` Sets key store type used in context initialization.
`void` `setSslClientCertificateKeyStoreUrl(String url)` Sets path to the key store file.
`void` `setSslFactory(String sslFactory)` Sets the class name of the custom implementation of the Factory<SSLSocketFactory>.
`void` `setSslKeyAlgorithm(String keyAlgorithm)` Sets key manager algorithm that will be used to create a key manager.
`void` `setSslMode(String mode)` Use SSL connection to Ignite node.
`void` `setSslProtocol(String sslProtocol)` Sets protocol for secure transport.
`void` `setSslTrustAll(boolean trustAll)` Sets to `true` to trust any server certificate (revoked, expired or self-signed SSL certificates).
`void` `setSslTrustCertificateKeyStorePassword(String passwd)` Sets trust store password.
`void` `setSslTrustCertificateKeyStoreType(String ksType)` Sets trust store type.
`void` `setSslTrustCertificateKeyStoreUrl(String url)` Sets path to the trust store file.
`void` `setTcpNoDelay(boolean tcpNoDelay)`
`void` `setUrl(String url)`
`void` `setURL(String url)` Different application servers us different format (URL & url).
`void` `setUsername(String name)`
`<T> T` `unwrap(Class<T> iface)`

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

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

### Constructor Detail

#### IgniteJdbcThinDataSource

    public IgniteJdbcThinDataSource()

### Method Detail

#### getConnection

    public Connection getConnection()
                             throws SQLException

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

#### getConnection

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

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

#### unwrap

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

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

#### isWrapperFor

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

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

#### getLogWriter

    public PrintWriter getLogWriter()
                             throws SQLException

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

#### setLogWriter

    public void setLogWriter(PrintWriter out)
                      throws SQLException

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

#### setLoginTimeout

    public void setLoginTimeout(int seconds)
                         throws SQLException

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

#### getLoginTimeout

    public int getLoginTimeout()
                        throws SQLException

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

#### getParentLogger

    public Logger getParentLogger()
                           throws SQLFeatureNotSupportedException

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

#### getURL

    public String getURL()

Different application servers us different format (URL & url).

Returns:
  Connection URL.

#### setURL

    public void setURL(String url)
                throws SQLException

Different application servers us different format (URL & url).

Parameters:
  `url` - Connection URL.
Throws:
  `SQLException` - On error whrn URL is invalid.

#### getAddresses

    public String[] getAddresses()

Returns:
  Ignite nodes addresses.

#### setAddresses

    public void setAddresses(String... addrsStr)
                      throws SQLException

Sets the addresses of the Ignite nodes to connect; address string format: `host[:portRangeFrom[..portRangeTo]]`. Examples:

- "127.0.0.1"
- "127.0.0.1:10800"
- "127.0.0.1:10800..10810"
- "mynode0.mydomain.org:10800..10810", "mynode1.mydomain.org:10800..10810", "127.0.0.1:10800"

Parameters:
  `addrsStr` - Ignite nodes addresses.
Throws:
  `SQLException` - On invalid addresses.

#### getSchema

    public String getSchema()

Returns:
  Schema name of the connection.

#### setSchema

    public void setSchema(String schema)

Parameters:
  `schema` - Schema name of the connection.

#### getUrl

    public String getUrl()

Returns:
  The URL of the connection.

#### setUrl

    public void setUrl(String url)
                throws SQLException

Parameters:
  `url` - The URL of the connection.
Throws:
  `SQLException` - On invalid URL.

#### isDistributedJoins

    public boolean isDistributedJoins()

Returns:
  Distributed joins flag.

#### setDistributedJoins

    public void setDistributedJoins(boolean distributedJoins)

Parameters:
  `distributedJoins` - Distributed joins flag.

#### isEnforceJoinOrder

    public boolean isEnforceJoinOrder()

Returns:
  Enforce join order flag.

#### setEnforceJoinOrder

    public void setEnforceJoinOrder(boolean enforceJoinOrder)

Parameters:
  `enforceJoinOrder` - Enforce join order flag.

#### isCollocated

    public boolean isCollocated()

Returns:
  Collocated flag.

#### setCollocated

    public void setCollocated(boolean collocated)

Parameters:
  `collocated` - Collocated flag.

#### isReplicatedOnly

    public boolean isReplicatedOnly()

Returns:
  Replicated only flag.

#### setReplicatedOnly

    public void setReplicatedOnly(boolean replicatedOnly)

Parameters:
  `replicatedOnly` - Replicated only flag.

#### isAutoCloseServerCursor

    public boolean isAutoCloseServerCursor()

Returns:
  Auto close server cursors flag.

#### setAutoCloseServerCursor

    public void setAutoCloseServerCursor(boolean autoCloseServerCursor)

Parameters:
  `autoCloseServerCursor` - Auto close server cursors flag.

#### getSocketSendBuffer

    public int getSocketSendBuffer()

Returns:
  Socket send buffer size.

#### setSocketSendBuffer

    public void setSocketSendBuffer(int size)
                             throws SQLException

Parameters:
  `size` - Socket send buffer size.
Throws:
  `SQLException` - On error.

#### getSocketReceiveBuffer

    public int getSocketReceiveBuffer()

Returns:
  Socket receive buffer size.

#### setSocketReceiveBuffer

    public void setSocketReceiveBuffer(int size)
                                throws SQLException

Parameters:
  `size` - Socket receive buffer size.
Throws:
  `SQLException` - On error.

#### isTcpNoDelay

    public boolean isTcpNoDelay()

Returns:
  TCP no delay flag.

#### setTcpNoDelay

    public void setTcpNoDelay(boolean tcpNoDelay)

Parameters:
  `tcpNoDelay` - TCP no delay flag.

#### isLazy

    public boolean isLazy()

Returns:
  Lazy query execution flag.

#### setLazy

    public void setLazy(boolean lazy)

Parameters:
  `lazy` - Lazy query execution flag.

#### isSkipReducerOnUpdate

    public boolean isSkipReducerOnUpdate()

Returns:
  Skip reducer on update flag.

#### setSkipReducerOnUpdate

    public void setSkipReducerOnUpdate(boolean skipReducerOnUpdate)

Parameters:
  `skipReducerOnUpdate` - Skip reducer on update flag.

#### getSslMode

    public String getSslMode()

Gets SSL connection mode.

Returns:
  Use SSL flag.
See Also:
  `setSslMode(String).`

#### setSslMode

    public void setSslMode(String mode)

Use SSL connection to Ignite node. In case set to `"require"` SSL context must be configured. `setSslClientCertificateKeyStoreUrl(java.lang.String)` property and related properties must be set up or JSSE properties must be set up (see `javax.net.ssl.keyStore` and other `javax.net.ssl.*` properties) In case set to `"disable"` plain connection is used. Available modes: `"disable", "require"`. Default value is `"disable"`

Parameters:
  `mode` - SSL mode.

#### getSslProtocol

    public String getSslProtocol()

Gets protocol for secure transport.

Returns:
  SSL protocol name.

#### setSslProtocol

    public void setSslProtocol(String sslProtocol)

Sets protocol for secure transport. If not specified, TLS protocol will be used. Protocols implementations supplied by JSEE: SSLv3 (SSL), TLSv1 (TLS), TLSv1.1, TLSv1.2

See more at JSSE Reference Guide.

Parameters:
  `sslProtocol` - SSL protocol name.

#### getSslKeyAlgorithm

    public String getSslKeyAlgorithm()

Gets algorithm that will be used to create a key manager.

Returns:
  Key manager algorithm.

#### setSslKeyAlgorithm

    public void setSslKeyAlgorithm(String keyAlgorithm)

Sets key manager algorithm that will be used to create a key manager. Notice that in most cased default value suites well, however, on Android platform this value need to be set to `X509``. Algorithms implementations supplied by JSEE: PKIX (X509 or SunPKIX), SunX509

See more at JSSE Reference Guide.

`

Parameters:
  `keyAlgorithm` - Key algorithm name.

#### getSslClientCertificateKeyStoreUrl

    public String getSslClientCertificateKeyStoreUrl()

Gets the key store URL.

Returns:
  Client certificate KeyStore URL.

#### setSslClientCertificateKeyStoreUrl

    public void setSslClientCertificateKeyStoreUrl(String url)

Sets path to the key store file. This is a mandatory parameter since ssl context could not be initialized without key manager. In case `getSslMode()` is `required` and key store URL isn't specified by Ignite properties (e.g. at JDBC URL) the JSSE property `javax.net.ssl.keyStore` will be used.

Parameters:
  `url` - Client certificate KeyStore URL.

#### getSslClientCertificateKeyStorePassword

    public String getSslClientCertificateKeyStorePassword()

Gets key store password.

Returns:
  Client certificate KeyStore password.

#### setSslClientCertificateKeyStorePassword

    public void setSslClientCertificateKeyStorePassword(String passwd)

Sets key store password. In case `getSslMode()` is `required` and key store password isn't specified by Ignite properties (e.g. at JDBC URL) the JSSE property `javax.net.ssl.keyStorePassword` will be used.

Parameters:
  `passwd` - Client certificate KeyStore password.

#### getSslClientCertificateKeyStoreType

    public String getSslClientCertificateKeyStoreType()

Gets key store type used for context creation.

Returns:
  Client certificate KeyStore type.

#### setSslClientCertificateKeyStoreType

    public void setSslClientCertificateKeyStoreType(String ksType)

Sets key store type used in context initialization. In case `getSslMode()` is `required` and key store type isn't specified by Ignite properties (e.g. at JDBC URL)the JSSE property `javax.net.ssl.keyStoreType` will be used. In case both Ignite properties and JSSE properties are not set the default 'JKS' type is used.

See more at JSSE Reference Guide.

Parameters:
  `ksType` - Client certificate KeyStore type.

#### getSslTrustCertificateKeyStoreUrl

    public String getSslTrustCertificateKeyStoreUrl()

Gets the trust store URL.

Returns:
  Trusted certificate KeyStore URL.

#### setSslTrustCertificateKeyStoreUrl

    public void setSslTrustCertificateKeyStoreUrl(String url)

Sets path to the trust store file. This is an optional parameter, however one of the `setSslTrustCertificateKeyStoreUrl(String)`, `setSslTrustAll(boolean)` properties must be set. In case `getSslMode()` is `required` and trust store URL isn't specified by Ignite properties (e.g. at JDBC URL) the JSSE property `javax.net.ssl.trustStore` will be used.

Parameters:
  `url` - Trusted certificate KeyStore URL.

#### getSslTrustCertificateKeyStorePassword

    public String getSslTrustCertificateKeyStorePassword()

Gets trust store password.

Returns:
  Trusted certificate KeyStore password.

#### setSslTrustCertificateKeyStorePassword

    public void setSslTrustCertificateKeyStorePassword(String passwd)

Sets trust store password. In case `getSslMode()` is `required` and trust store password isn't specified by Ignite properties (e.g. at JDBC URL) the JSSE property `javax.net.ssl.trustStorePassword` will be used.

Parameters:
  `passwd` - Trusted certificate KeyStore password.

#### getSslTrustCertificateKeyStoreType

    public String getSslTrustCertificateKeyStoreType()

Gets trust store type.

Returns:
  Trusted certificate KeyStore type.

#### setSslTrustCertificateKeyStoreType

    public void setSslTrustCertificateKeyStoreType(String ksType)

Sets trust store type. In case `getSslMode()` is `required` and trust store type isn't specified by Ignite properties (e.g. at JDBC URL) the JSSE property `javax.net.ssl.trustStoreType` will be used. In case both Ignite properties and JSSE properties are not set the default 'JKS' type is used.

Parameters:
  `ksType` - Trusted certificate KeyStore type.

#### isSslTrustAll

    public boolean isSslTrustAll()

Gets trust any server certificate flag.

Returns:
  Trust all certificates flag.

#### setSslTrustAll

    public void setSslTrustAll(boolean trustAll)

Sets to `true` to trust any server certificate (revoked, expired or self-signed SSL certificates).

Defaults is `false`. Note: Do not enable this option in production you are ever going to use on a network you do not entirely trust. Especially anything going over the public internet.

Parameters:
  `trustAll` - Trust all certificates flag.

#### getSslFactory

    public String getSslFactory()

Gets the class name of the custom implementation of the Factory<SSLSocketFactory>.

Returns:
  Custom class name that implements Factory<SSLSocketFactory>.

#### setSslFactory

    public void setSslFactory(String sslFactory)

Sets the class name of the custom implementation of the Factory<SSLSocketFactory>. If `getSslMode()` is `required` and factory is specified the custom factory will be used instead of JSSE socket factory. So, other SSL properties will be ignored.

Parameters:
  `sslFactory` - Custom class name that implements Factory<SSLSocketFactory>.

#### setUsername

    public void setUsername(String name)

Parameters:
  `name` - User name to authentication.

#### getUsername

    public String getUsername()

Returns:
  User name to authentication.

#### setPassword

    public void setPassword(String passwd)

Parameters:
  `passwd` - User's password.

#### getPassword

    public String getPassword()

Returns:
  User's password.

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.8.1
Release Date | : May 21 2020