Package com.exasol.adapter.jdbc
Class RemoteConnectionFactory
- java.lang.Object
-
- com.exasol.adapter.jdbc.RemoteConnectionFactory
-
- All Implemented Interfaces:
ConnectionFactory,AutoCloseable
public final class RemoteConnectionFactory extends Object implements ConnectionFactory
Factory that produces JDBC connections to remote data sources.
-
-
Constructor Summary
Constructors Constructor Description RemoteConnectionFactory(com.exasol.ExaMetadata exaMetadata, com.exasol.adapter.AdapterProperties properties)Create a new instance ofRemoteConnectionFactory.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes cached connection if any.ConnectiongetConnection()Create a JDBC connection to the remote data source.booleanhasCachedConnection()Checks presence of cached connection.protected voidlogConnectionAttempt(String address, String username)Log an attempt to connect to a remote database.protected voidlogRemoteDatabaseDetails(Connection connection, long connectionTime)Log details about the remote database.
-
-
-
Constructor Detail
-
RemoteConnectionFactory
public RemoteConnectionFactory(com.exasol.ExaMetadata exaMetadata, com.exasol.adapter.AdapterProperties properties)Create a new instance ofRemoteConnectionFactory.- Parameters:
exaMetadata- exasol metadataproperties- adapter properties
-
-
Method Detail
-
getConnection
public Connection getConnection() throws SQLException
Create a JDBC connection to the remote data source.- Specified by:
getConnectionin interfaceConnectionFactory- Returns:
- JDBC connection to remote data source
- Throws:
SQLException- if the connection to the remote source could not be established
-
logRemoteDatabaseDetails
protected void logRemoteDatabaseDetails(Connection connection, long connectionTime) throws SQLException
Log details about the remote database.- Parameters:
connection- connection to the databaseconnectionTime- connection timeout- Throws:
SQLException- if connection fails
-
logConnectionAttempt
protected void logConnectionAttempt(String address, String username)
Log an attempt to connect to a remote database.- Parameters:
address- database addressusername- username
-
hasCachedConnection
public boolean hasCachedConnection()
Checks presence of cached connection.- Returns:
- true if cached connection is present.
-
close
public void close()
Closes cached connection if any.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceConnectionFactory
-
-