Implementation:Apache Dolphinscheduler AbstractDataSourceProcessor Connectivity
| Knowledge Sources | |
|---|---|
| Domains | Data_Integration, Connection_Management |
| Last Updated | 2026-02-10 00:00 GMT |
Overview
Concrete tool for testing database connectivity using AbstractDataSourceProcessor.checkDataSourceConnectivity with BaseAdHocDataSourceClient single-use connections.
Description
AbstractDataSourceProcessor.checkDataSourceConnectivity() at L126 calls getConnection(connectionParam) to obtain a JDBC connection. If the connection succeeds, it returns true; if a ClassNotFoundException or SQLException is thrown, it returns false. The connection is obtained through the processor-specific getConnection() method which loads the JDBC driver and creates a raw connection.
Usage
Called by the API layer's "test connection" endpoint before saving datasource configurations.
Code Reference
Source Location
- Repository: dolphinscheduler
- File: dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/src/main/java/org/apache/dolphinscheduler/plugin/datasource/api/datasource/AbstractDataSourceProcessor.java (L126-136)
- File: dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-api/src/main/java/org/apache/dolphinscheduler/plugin/datasource/api/client/BaseAdHocDataSourceClient.java (L27-48)
Signature
public abstract class AbstractDataSourceProcessor {
@Override
public boolean checkDataSourceConnectivity(ConnectionParam connectionParam); // L126
}
public class BaseAdHocDataSourceClient implements AdHocDataSourceClient {
public BaseAdHocDataSourceClient(BaseConnectionParam param, DbType dbType);
@Override public Connection getConnection();
@Override public void close();
}
Import
import org.apache.dolphinscheduler.plugin.datasource.api.datasource.AbstractDataSourceProcessor;
import org.apache.dolphinscheduler.plugin.datasource.api.client.BaseAdHocDataSourceClient;
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| connectionParam | ConnectionParam | Yes | Resolved connection parameters (JDBC URL, encoded password, driver) |
Outputs
| Name | Type | Description |
|---|---|---|
| boolean | primitive | true if connection succeeds, false otherwise |
Usage Examples
Testing MySQL Connectivity
MySQLDataSourceProcessor processor = new MySQLDataSourceProcessor();
// Build connection params from DTO
ConnectionParam connParam = processor.createConnectionParams(dto);
// Test connectivity
boolean isConnected = processor.checkDataSourceConnectivity(connParam);
if (!isConnected) {
throw new RuntimeException("Cannot connect to MySQL database");
}
// Save datasource configuration only after successful test