abstract class JdbcConnectionProvider extends AnyRef
::DeveloperApi:: Connection provider which opens connection toward various databases (database specific instance needed). If any authentication required then it's the provider's responsibility to set all the parameters. Important to mention connection providers within a JVM used from multiple threads so adding internal state is not advised. If any state added then it must be synchronized properly.
- Annotations
- @DeveloperApi() @Unstable()
- Since
3.1.0
- Alphabetic
- By Inheritance
- JdbcConnectionProvider
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new JdbcConnectionProvider()
Abstract Value Members
-
abstract
def
canHandle(driver: Driver, options: Map[String, String]): Boolean
Checks if this connection provider instance can handle the connection initiated by the driver.
Checks if this connection provider instance can handle the connection initiated by the driver. There must be exactly one active connection provider which can handle the connection for a specific driver. If this requirement doesn't met then
IllegalArgumentException
will be thrown by the provider framework.- driver
Java driver which initiates the connection
- options
Driver options which initiates the connection
- returns
True if the connection provider can handle the driver with the given options.
-
abstract
def
getConnection(driver: Driver, options: Map[String, String]): Connection
Opens connection to the database.
Opens connection to the database. Since global JVM security configuration change may be needed this API is called synchronized by
SecurityConfigurationLock
to avoid race whenmodifiesSecurityContext
returns true for the given driver with the given options.- driver
Java driver which initiates the connection
- options
Driver options which initiates the connection
- returns
a
Connection
object that represents a connection to the URL
-
abstract
def
modifiesSecurityContext(driver: Driver, options: Map[String, String]): Boolean
Checks if this connection provider instance needs to modify global security configuration to handle authentication and thus should synchronize access to the security configuration while the given driver is initiating a connection with the given options.
Checks if this connection provider instance needs to modify global security configuration to handle authentication and thus should synchronize access to the security configuration while the given driver is initiating a connection with the given options.
- driver
Java driver which initiates the connection
- options
Driver options which initiates the connection
- returns
True if the connection provider will need to modify the security configuration when initiating a connection with the given driver with the given options.
- Since
3.1.3
-
abstract
val
name: String
Name of the service to provide JDBC connections.
Name of the service to provide JDBC connections. This name should be unique. Spark will internally use this name to differentiate JDBC connection providers.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()