Add Spring Boot starters for components missing one - #1978
Merged
Merged
Conversation
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>
davsclaus
approved these changes
Sep 15, 2026
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>
4 tasks
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the Spring Boot starter for every Camel core component that didn't have one yet, checked against
apache/camelupstream/main:camel-camunda-starter— Camunda 8 Orchestration Clusterscamel-event-starter— subscribing to Camel internal eventscamel-shell-starter— interactive JLine shell endpointcamel-spiffe-starter— SPIFFE Workload Identitycamel-state-store-starter— pluggable key-value store operationscamel-ai-resource-starter— route-based read-only AI resourcescamel-pgvector-starter— PostgreSQL pgvector vector databasecamel-langchain4j-ingest-starter— LangChain4j document ingestioncamel-ibm-watsonx-data-starter— IBM watsonx.data lakehouseEach 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 assertingcamel.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 withautoStart=false, sinceShellComponent.doStart()opens a real system terminal and must not run in a headless test.doStart()implementations make eager network/IO calls (verified by inspection), so property binding can be asserted safely without live external services.Test plan
mvn verifypasses for each new starter module individuallymvn verifypasses for all 9 new starter modules built together in one reactor run (no cross-module conflicts in the shared catalog/BOM/docs files)