Class AbstractDBCPConnectionPool

java.lang.Object
org.apache.nifi.components.AbstractConfigurableComponent
org.apache.nifi.controller.AbstractControllerService
org.apache.nifi.dbcp.AbstractDBCPConnectionPool
All Implemented Interfaces:
org.apache.nifi.components.ConfigurableComponent, org.apache.nifi.controller.ControllerService, org.apache.nifi.controller.VerifiableControllerService, DBCPService

public abstract class AbstractDBCPConnectionPool extends org.apache.nifi.controller.AbstractControllerService implements DBCPService, org.apache.nifi.controller.VerifiableControllerService
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.apache.commons.dbcp2.BasicDataSource
     
    protected KerberosUser
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    configureDataSource(org.apache.nifi.controller.ConfigurationContext context, org.apache.commons.dbcp2.BasicDataSource basicDataSource, DataSourceConfiguration configuration)
     
     
    private Connection
    getConnection(org.apache.commons.dbcp2.BasicDataSource dataSource, KerberosUser kerberosUser)
     
    protected Map<String,String>
    getConnectionProperties(org.apache.nifi.controller.ConfigurationContext context)
     
    protected abstract DataSourceConfiguration
    getDataSourceConfiguration(org.apache.nifi.controller.ConfigurationContext context)
     
    protected abstract Driver
    getDriver(String driverName, String url)
     
    protected List<org.apache.nifi.components.PropertyDescriptor>
    getDynamicProperties(org.apache.nifi.controller.ConfigurationContext context)
     
    protected KerberosUser
    getKerberosUser(org.apache.nifi.controller.ConfigurationContext context)
     
    private void
     
    void
    onConfigured(org.apache.nifi.controller.ConfigurationContext context)
    Configures connection pool by creating an instance of the BasicDataSource based on configuration provided with ConfigurationContext.
    void
    Shutdown pool, close all open connections.
    private void
    shutdown(org.apache.commons.dbcp2.BasicDataSource dataSource, KerberosUser kerberosUser)
     
    List<org.apache.nifi.components.ConfigVerificationResult>
    verify(org.apache.nifi.controller.ConfigurationContext context, org.apache.nifi.logging.ComponentLog verificationLogger, Map<String,String> variables)
     

    Methods inherited from class org.apache.nifi.controller.AbstractControllerService

    abstractClearConfigContext, abstractStoreConfigContext, disabled, enabled, getConfigurationContext, getControllerServiceLookup, getIdentifier, getLogger, getNodeTypeProvider, getProperty, getStateManager, init, initialize, isEnabled

    Methods inherited from class org.apache.nifi.components.AbstractConfigurableComponent

    customValidate, equals, getPropertyDescriptor, getPropertyDescriptors, getSupportedDynamicPropertyDescriptor, getSupportedPropertyDescriptors, hashCode, onPropertyModified, toString, validate

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.nifi.components.ConfigurableComponent

    getIdentifier, getPropertyDescriptor, getPropertyDescriptors, onPropertyModified, validate

    Methods inherited from interface org.apache.nifi.controller.ControllerService

    initialize, isStateful, migrateProperties

    Methods inherited from interface org.apache.nifi.dbcp.DBCPService

    getConnection, getFlowFileFilter, getFlowFileFilter
  • Field Details

    • dataSource

      protected volatile org.apache.commons.dbcp2.BasicDataSource dataSource
    • kerberosUser

      protected volatile KerberosUser kerberosUser
  • Constructor Details

    • AbstractDBCPConnectionPool

      public AbstractDBCPConnectionPool()
  • Method Details

    • verify

      public List<org.apache.nifi.components.ConfigVerificationResult> verify(org.apache.nifi.controller.ConfigurationContext context, org.apache.nifi.logging.ComponentLog verificationLogger, Map<String,String> variables)
      Specified by:
      verify in interface org.apache.nifi.controller.VerifiableControllerService
    • onConfigured

      @OnEnabled public void onConfigured(org.apache.nifi.controller.ConfigurationContext context) throws InitializationException
      Configures connection pool by creating an instance of the BasicDataSource based on configuration provided with ConfigurationContext.

      This operation makes no guarantees that the actual connection could be made since the underlying system may still go off-line during normal operation of the connection pool.

      Parameters:
      context - the configuration context
      Throws:
      InitializationException - if unable to create a database connection
    • loginKerberos

      private void loginKerberos(KerberosUser kerberosUser) throws InitializationException
      Throws:
      InitializationException
    • getDriver

      protected abstract Driver getDriver(String driverName, String url)
    • getDataSourceConfiguration

      protected abstract DataSourceConfiguration getDataSourceConfiguration(org.apache.nifi.controller.ConfigurationContext context)
    • configureDataSource

      protected void configureDataSource(org.apache.nifi.controller.ConfigurationContext context, org.apache.commons.dbcp2.BasicDataSource basicDataSource, DataSourceConfiguration configuration)
    • getConnectionProperties

      protected Map<String,String> getConnectionProperties(org.apache.nifi.controller.ConfigurationContext context)
    • getDynamicProperties

      protected List<org.apache.nifi.components.PropertyDescriptor> getDynamicProperties(org.apache.nifi.controller.ConfigurationContext context)
    • getKerberosUser

      protected KerberosUser getKerberosUser(org.apache.nifi.controller.ConfigurationContext context)
    • getConnection

      public Connection getConnection() throws org.apache.nifi.processor.exception.ProcessException
      Specified by:
      getConnection in interface DBCPService
      Throws:
      org.apache.nifi.processor.exception.ProcessException
    • getConnection

      private Connection getConnection(org.apache.commons.dbcp2.BasicDataSource dataSource, KerberosUser kerberosUser)
    • shutdown

      @OnDisabled public void shutdown() throws SQLException
      Shutdown pool, close all open connections. If a principal is authenticated with a KDC, that principal is logged out.
      Throws:
      SQLException - if there is an error while closing open connections
    • shutdown

      private void shutdown(org.apache.commons.dbcp2.BasicDataSource dataSource, KerberosUser kerberosUser) throws SQLException
      Throws:
      SQLException