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
IllegalArgumentExceptionwill 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
SecurityConfigurationLockto avoid race whenmodifiesSecurityContextreturns 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
Connectionobject 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()