Skip to content

Add Spring Boot starters for components missing one - #1978

Merged
Croway merged 9 commits into
apache:mainfrom
Croway:add-missing-spring-boot-starters
Sep 15, 2026
Merged

Croway merged 9 commits into
apache:mainfrom
Croway:add-missing-spring-boot-starters

Conversation

@Croway

@Croway Croway commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds the Spring Boot starter for every Camel core component that didn't have one yet, checked against apache/camel upstream/main:

  • camel-camunda-starter — Camunda 8 Orchestration Clusters
  • camel-event-starter — subscribing to Camel internal events
  • camel-shell-starter — interactive JLine shell endpoint
  • camel-spiffe-starter — SPIFFE Workload Identity
  • camel-state-store-starter — pluggable key-value store operations
  • camel-ai-resource-starter — route-based read-only AI resources
  • camel-pgvector-starter — PostgreSQL pgvector vector database
  • camel-langchain4j-ingest-starter — LangChain4j document ingestion
  • camel-ibm-watsonx-data-starter — IBM watsonx.data lakehouse

Each is its own commit: generated with starter-create, then built to regenerate the auto-configuration, @ConfigurationProperties, catalog entries, docs page/nav, and dependencies BOM entry, plus a smoke test asserting camel.component.<name>.* properties are correctly bound onto the component bean.

Two smoke tests are worth calling out:

  • camel-shell-starter's test resolves the component with autoStart=false, since ShellComponent.doStart() opens a real system terminal and must not run in a headless test.
  • The others start the component normally; none of their doStart() implementations make eager network/IO calls (verified by inspection), so property binding can be asserted safely without live external services.

Test plan

  • mvn verify passes for each new starter module individually
  • mvn verify passes for all 9 new starter modules built together in one reactor run (no cross-module conflicts in the shared catalog/BOM/docs files)

Croway and others added 9 commits September 15, 2026 13:27
camel-camunda has been in Camel core since 4.19.0 but never got a
Spring Boot starter. Generate it with starter-create and regenerate
the docs, catalog and dependencies BOM entries.

Add a smoke test that verifies camel.component.camunda.* Spring Boot
properties are copied onto the CamundaComponent bean by the starter.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
camel-event allows subscribing to Camel internal events (route and
exchange events) but never got a Spring Boot starter. Generate it with
starter-create and regenerate the docs, catalog and dependencies BOM
entries.

Add a smoke test verifying camel.component.event.* Spring Boot
properties are copied onto the CamelEventComponent bean.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
camel-shell provides an interactive JLine-based shell endpoint but
never got a Spring Boot starter. Generate it with starter-create and
regenerate the docs, catalog and dependencies BOM entries.

Add a smoke test verifying camel.component.shell.* Spring Boot
properties are copied onto the ShellComponent bean. The component is
resolved without auto-starting it, since ShellComponent.doStart()
opens a real system terminal, which must not happen in a headless
test run.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
camel-spiffe fetches and validates SPIFFE workload identity from the
SPIFFE Workload API but never got a Spring Boot starter. Generate it
with starter-create and regenerate the docs, catalog and dependencies
BOM entries.

Add a smoke test verifying camel.component.spiffe.* Spring Boot
properties are copied onto the component's nested SpiffeConfiguration.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
camel-state-store performs key-value operations against a pluggable
KeyValueRepository backend but never got a Spring Boot starter.
Generate it with starter-create and regenerate the docs, catalog and
dependencies BOM entries.

Add a smoke test verifying camel.component.state-store.* Spring Boot
properties are copied onto the StateStoreComponent bean.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
camel-ai-resource registers Camel routes as read-only AI resources in
the shared AiResourceRegistry but never got a Spring Boot starter.
Generate it with starter-create and regenerate the docs, catalog and
dependencies BOM entries.

Add a smoke test verifying camel.component.ai-resource.* Spring Boot
properties are copied onto the component's nested
AiResourceConfiguration.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
camel-pgvector performs vector operations against the PostgreSQL
pgvector extension but never got a Spring Boot starter. Generate it
with starter-create and regenerate the docs, catalog (including the
pgvector-embeddings/pgvector-rag data type transformers) and
dependencies BOM entries.

Add a smoke test verifying camel.component.pgvector.* Spring Boot
properties are copied onto the component's nested PgVectorConfiguration.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
camel-langchain4j-ingest splits, embeds and stores documents into a
LangChain4j EmbeddingStore but never got a Spring Boot starter.
Generate it with starter-create and regenerate the docs, catalog and
dependencies BOM entries.

Add a smoke test verifying camel.component.langchain4j-ingest.*
Spring Boot properties are copied onto the component's nested
LangChain4jIngestConfiguration.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
camel-ibm-watsonx-data interacts with the IBM watsonx.data lakehouse
for catalog, schema, table and engine management but never got a
Spring Boot starter. Generate it with starter-create and regenerate
the docs, catalog and dependencies BOM entries.

Add a smoke test verifying camel.component.ibm-watsonx-data.* Spring
Boot properties are copied onto the component's nested
WatsonxDataConfiguration.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@Croway
Croway requested review from davsclaus and oscerd September 15, 2026 11:44
@Croway
Croway merged commit 5c26cc5 into apache:main Sep 15, 2026
4 checks passed
Croway added a commit to apache/camel-upgrade-recipes that referenced this pull request Sep 16, 2026
apache/camel-spring-boot#1978 (merged 2026-09-15) added camel-camunda-starter.
org.apache.camel.springboot:camel-camunda-starter, org.apache.camel:camel-camunda,
camel-ai-tool and camel-ai-tool-starter are all now confirmed published as
4.23.0-SNAPSHOT on the Apache snapshots repository, so the "verify it exists /
fall back" hedge in the zeebe-starter recipe and release notes is replaced with a
positive confirmation. No recipe or test logic changes; the target version stays
the plain 4.23.0 release, which still isn't on Maven Central yet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Croway added a commit to apache/camel-upgrade-recipes that referenced this pull request Sep 16, 2026
apache/camel-spring-boot#1978 (merged 2026-09-15) added camel-camunda-starter.
org.apache.camel.springboot:camel-camunda-starter, org.apache.camel:camel-camunda,
camel-ai-tool and camel-ai-tool-starter are all now confirmed published as
4.23.0-SNAPSHOT on the Apache snapshots repository, so the "verify it exists /
fall back" hedge in the zeebe-starter recipe and release notes is replaced with a
positive confirmation. No recipe or test logic changes; the target version stays
the plain 4.23.0 release, which still isn't on Maven Central yet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants