Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Implementation:Apache Dolphinscheduler AbstractDataSourceProcessor Connectivity

From Leeroopedia


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

Related Pages

Implements Principle

Requires Environment

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment