[
https://issues.apache.org/jira/browse/NIFI-14682?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pierre Villard updated NIFI-14682:
----------------------------------
Status: Patch Available (was: Open)
> Help user with JDBC Driver configuration in DBCP controller service
> -------------------------------------------------------------------
>
> Key: NIFI-14682
> URL: https://issues.apache.org/jira/browse/NIFI-14682
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Extensions
> Reporter: Pierre Villard
> Assignee: Pierre Villard
> Priority: Major
>
> The goal is to improve the verify method in the Abstract class as well as the
> error handling in the getDriver method of the controller service
> implementation.
> We cannot use a customValidate approach as we may be in situation where one
> of those situations happen:
> * specified resources are not loaded in the classpath
> * some specified resources are using the URL approach and we may not have
> the resource locally available at the time
> * we may have some weirdly packaged JARs with very custom Drivers
> Given the above, we don't want to take the risk of making the component
> invalid and unusable.
> Instead we improve things in two places:
> * the verify() method but we cannot expect all of the specified resources to
> be loaded in the classpath at the time the method is called so the best
> approach is to have a static analysis of whatever is available to us and
> provide a non exhaustive list of what drivers can be used.
> * the getDriver() method - in this case, resources are loaded in the
> classpath so we can also verify that the classes that we suspect are
> potential drivers could indeed be loaded as drivers.
> The changes have been tested with many drivers, specified in different ways
> (asset, directory, file, URL) with many different vendors (H2, Derby, MS SQL,
> Postgres, ClickHouse, Snowflake).
> While this does not cover all possible scenarios of how the component has
> been configured, it does provide a more helpful error message in most cases
> when the specified driver class is not correct.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)