Skip to content

CAMEL-23837: Add DataSource connection pool dev-console and TUI tab#24278

Open
davsclaus wants to merge 8 commits into
mainfrom
feature/CAMEL-23837-datasource-devconsole
Open

CAMEL-23837: Add DataSource connection pool dev-console and TUI tab#24278
davsclaus wants to merge 8 commits into
mainfrom
feature/CAMEL-23837-datasource-devconsole

Conversation

@davsclaus

Copy link
Copy Markdown
Contributor

Summary

  • Adds a new datasource dev-console in camel-console that discovers all javax.sql.DataSource beans from the Camel registry and extracts connection pool metrics via reflection (no compile dependency on pool libraries)
  • Supports HikariCP (Spring Boot default) and Agroal (Quarkus default) connection pools
  • Wires the dev-console into LocalCliConnector.statusTask() for TUI access
  • Adds a new DataSource tab in the TUI More menu showing pool name, active/idle/total connections, max pool size, and waiting threads
  • Color-coded warnings: red when pool is exhausted (active >= max), yellow when threads are waiting

Test plan

  • Build camel-console, camel-cli-connector, and camel-jbang-plugin-tui modules
  • Run a Camel app with Spring DataSource (HikariCP) and verify metrics appear in dev-console JSON
  • Verify TUI DataSource tab renders correctly with pool metrics
  • Verify sort cycling (s/S keys) works on all columns
  • Test with Quarkus/Agroal DataSource when available

Claude Code on behalf of Claus Ibsen

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

davsclaus and others added 2 commits June 27, 2026 20:48
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
Adds a new dev-console that discovers javax.sql.DataSource beans from the
Camel registry and extracts connection pool metrics via reflection for
HikariCP (Spring Boot) and Agroal (Quarkus). Includes a TUI DataSource
tab showing pool name, active/idle/total connections, max pool size, and
waiting threads with color-coded pool exhaustion warnings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
@github-actions

Copy link
Copy Markdown
Contributor

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

davsclaus and others added 3 commits June 27, 2026 21:02
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
davsclaus and others added 3 commits June 27, 2026 21:28
…es panel

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
@github-actions

Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • catalog/camel-catalog
  • core/camel-console
  • docs
  • dsl/camel-cli-connector
  • dsl/camel-jbang/camel-jbang-core
  • dsl/camel-jbang/camel-jbang-plugin-tui

POM dependency changes: targeted tests included

Modules affected by dependency changes (6)
  • :camel-catalog
  • :camel-cli-connector
  • :camel-console
  • :camel-jbang-core
  • :camel-jbang-plugin-tui
  • :docs

⚠️ Some tests are disabled on GitHub Actions (@DisabledIfSystemProperty(named = "ci.env.name")) and require manual verification:

  • dsl/camel-jbang/camel-jbang-core: 1 test(s) disabled on GitHub Actions

💡 Manual integration tests recommended:

You modified dsl/camel-jbang/camel-jbang-core. The related integration tests in dsl/camel-jbang/camel-jbang-it are excluded from CI. Consider running them manually:

mvn verify -f dsl/camel-jbang/camel-jbang-it -Djbang-it-test
All tested modules (16 modules)
  • Camel :: All Core Sync point
  • Camel :: Catalog :: Camel Catalog
  • Camel :: Console
  • Camel :: DSL :: CLI Connector
  • Camel :: DSL :: CLI Debug
  • Camel :: Diagram
  • Camel :: Docs
  • Camel :: JBang :: Console
  • Camel :: JBang :: Core
  • Camel :: JBang :: MCP
  • Camel :: JBang :: Plugin :: Route Parser
  • Camel :: JBang :: Plugin :: TUI
  • Camel :: JBang :: Plugin :: Validate
  • Camel :: Launcher :: Container
  • Camel :: YAML DSL :: Validator
  • Camel :: YAML DSL :: Validator Maven Plugin

⚙️ View full build and test results

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant