Skip to content

CAMEL-25749: a read on a body that is still the payload, or an iterator, says what the body is and what to write - #28066

Merged
davsclaus merged 3 commits into
mainfrom
feature/CAMEL-25749-body-facts-reads
Oct 18, 2026
Merged

davsclaus merged 3 commits into
mainfrom
feature/CAMEL-25749-body-facts-reads

Conversation

@davsclaus

@davsclaus davsclaus commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

What

The second part of CAMEL-25749: the body failures that had no sentence get the BodyFacts one (#28059, merged).

simple and bean OGNL on the message body (BeanExpression) now say what the body is and what to write, when the body is the payload (text, bytes, a stream, the file as read) or an iterator:

read body the added sentence
${body.qty} the cached stream of an HTTP request (the body is a cached stream (ByteArrayInputStreamCache): unmarshal it first (unmarshal: json, for the Content-Type application/json) to read its fields)
${body[status]} the file consumer's body Key: status not found in bean: ... (the body is the file as read (a GenericFile): unmarshal it first (unmarshal: json, for the file name order-1003.json) to read its fields)
${body.size()} sql's StreamList (the body is an iterator (ResultSetIterator): it has no size and can be read once: split it, or have the producer give a List)

With the message history on, each also names the step that set the body.

Groovy body.sku on the body itself (the file as read, a stream) gets the same sentence. Before, only a read on text bytes or characters did (CAMEL-25330).

These are the failures the local-model benchmark met:

  • ${body.qty} on the request's stream cache (contracts-openapi-server, r17);
  • ${body.size()} on the iterator (connect-service-sql, r17);
  • ${body[status]} on a GenericFile (round 2).

Kept:

  • Exception types. The key failure stays an IndexOutOfBoundsException, and the method failure a RuntimeBeanExpressionException, with the sentence in the place the Map-key hint (CAMEL-25322) already uses.
  • Only the body. The sentence is added only when the bean the read failed on is the message body.
  • A wrong name on an object, or a List, still reports only the wrong name. A Map keeps its key list.

Tests

  • SimpleSyntaxHintsTest (camel-core): the stream cache with a JSON Content-Type, the iterator, the GenericFile with a file name, and an object whose wrong name gets no body sentence. 30 tests.
  • GroovyMissingPropertyHintTest (camel-groovy): body.sku on a cached stream. 13 tests.
  • Local runs, against camel-support and camel-bean from this branch through a scratch local repository:
    • camel-core: SimpleTest, SimpleOperatorTest and the bean tests (288, 0 failures), and BodyFactsTest;
    • camel-bean: 9;
    • camel-groovy: 120.

Claude Code on behalf of davsclaus

🤖 Generated with Claude Code

davsclaus and others added 2 commits October 18, 2026 16:36
…p that set it, and what to write; the existing body hints move onto it

BodyFacts.describe(exchange) says what the body is in plain words and,
from the message history, the step that set it ("the body is a Map
(LinkedHashMap), set by unmarshal at orders.yaml:9", or "unchanged since
from: file://orders"). BodyFacts.hint(exchange, need[, target]) says what
to write for what the failing step needed: DATA (it reads fields), BYTES
(it writes or sends the payload) or A_BODY (it needs a body at all), in the
data format the Content-Type, the file name or the text names.

The sentences that existed move onto it, so the wording is one: the http
producer (CAMEL-25309), the platform-http reply and the file write
(CAMEL-25751), Groovy on text (CAMEL-25330), unmarshal on a null body
(CAMEL-25285), jsonpath and jq on a null body (CAMEL-24838), and a missing
key of the body Map (CAMEL-25322). The three copies of the Content-Type to
data format mapping are gone.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
…or, says what the body is and what to write

The failures that had no sentence get the BodyFacts one: simple and bean
OGNL on the message body - a method or property ${body.qty}, ${body.size()},
or a key ${body[status]} - and Groovy body.sku on the body itself, when the
body is the payload as text, bytes, a stream or the file as read, or an
iterator. So ${body.qty} on the cached stream of an HTTP request says to
unmarshal it in the data format of its Content-Type, ${body[status]} on the
file consumer's body says the same for the file name, and ${body.size()} on
sql's StreamList says an iterator has no size. A name an object does not
have still reports only the wrong name.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
@davsclaus davsclaus added this to the 4.24.0 milestone Oct 18, 2026
@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.

Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>

# Conflicts:
#	components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyExpression.java
#	core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleSyntaxHintsTest.java
@davsclaus
davsclaus marked this pull request as ready for review October 18, 2026 16:07
@github-actions

Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • components/camel-bean
  • components/camel-groovy
  • core/camel-core

ℹ️ Dependent modules were not tested because the total number of affected modules exceeded the threshold (50). Use the test-dependents label to force testing all dependents.

🔁 6 tests passed only after a retry on JDK 25 (6 retried attempts)

Recovered flaky tests on JDK 25 (6)
Module Test Failed attempts First failure
core/camel-core FileConsumeSingleDirectoryOnlyTest.testConsumeFileOnly 1 mock://result Message with body Hello World was expected but not found in [, Bye World]
core/camel-core MulticastParallelStreamingTest.testMulticastParallel 1 Caught exception on mock://result due to: expected: <BA> but was: <AB>
core/camel-core MulticastParallelTimeoutStreamCachingTest.testCreateOutputStreamCacheBeforeTimeoutButWriteToOutputStreamCacheAfterTimeout 1 mock://exception Received message count. Expected: <1> but was: <0>
core/camel-core RecipientListParallelStreamingTest.testRecipientListParallelStreaming 1 mock://result Body of message: 0. Expected: <b> but was: <c>
core/camel-core ThreadsRejectedExecutionTest.testThreadsRejectedAbortNoRedelivery 1 Expected 0 messages at mock:error but got 2 ==> expected: <0> but was: <2>
core/camel-core TotalRequestsThrottlerRateDecreaseTest.testDecreaseWhileExchangesWaitForPermits 1 Condition with Lambda expression in org.apache.camel.processor.throttle.requests.TotalRequestsThrottlerRateDecreaseTest was not fulfilled within 5 seconds.

ℹ️ These tests did not fail the build. Surefire retried them and they passed.
Retries are enabled project-wide by surefire.rerunFailingTestsCount in parent/pom.xml.


🔬 Scalpel shadow comparison — Scalpel: 490 of 706 tested, 27 compile-only — current: 492 all tested

Maveniverse Scalpel detected 490 affected modules (current approach: 492).

Skip-tests mode would test 490 modules (3 direct + 487 downstream), skip tests for 27 (generated code, meta-modules)

Modules only in current approach (2)
  • camel-google-common
  • camel-test-infra-core
Modules Scalpel would test (490)
  • archetypes ← downstream of org.apache.camel:camel-test-junit6
  • camel-a2a ← downstream of org.apache.camel:camel-test-junit6
  • camel-activemq ← downstream of org.apache.camel:camel-jms
  • camel-activemq6 ← downstream of org.apache.camel:camel-jms
  • camel-ai-observability ← downstream of org.apache.camel:camel-test-junit6
  • camel-ai-observability-api ← downstream of org.apache.camel:camel-test-junit6
  • camel-ai-resource ← downstream of org.apache.camel:camel-test-junit6
  • camel-ai-tool ← downstream of org.apache.camel:camel-test-junit6
  • camel-alibaba-eventbridge ← downstream of org.apache.camel:camel-test-junit6
  • camel-alibaba-fc ← downstream of org.apache.camel:camel-test-junit6
  • camel-alibaba-kms ← downstream of org.apache.camel:camel-test-junit6
  • camel-alibaba-mns ← downstream of org.apache.camel:camel-test-junit6
  • camel-alibaba-oss ← downstream of org.apache.camel:camel-test-junit6
  • camel-alibaba-ots ← downstream of org.apache.camel:camel-test-junit6
  • camel-alibaba-sls ← downstream of org.apache.camel:camel-test-junit6
  • camel-alibaba-sms ← downstream of org.apache.camel:camel-test-junit6
  • camel-amqp ← downstream of org.apache.camel:camel-test-junit6
  • camel-api-component-maven-plugin ← downstream of org.apache.camel:camel-test-junit6
  • camel-arangodb ← downstream of org.apache.camel:camel-test-junit6
  • camel-archetype-api-component ← downstream of org.apache.camel:camel-test-junit6
  • camel-archetype-component ← downstream of org.apache.camel:camel-test-junit6
  • camel-archetype-dataformat ← downstream of org.apache.camel:camel-test-junit6
  • camel-archetype-java ← downstream of org.apache.camel:camel-test-junit6
  • camel-archetype-main ← downstream of org.apache.camel:camel-test-junit6
  • camel-as2 ← downstream of org.apache.camel:camel-test-junit6
  • camel-as2-api ← downstream of org.apache.camel:camel-test-junit6
  • camel-asn1 ← downstream of org.apache.camel:camel-test-junit6
  • camel-asterisk ← downstream of org.apache.camel:camel-test-junit6
  • camel-atmosphere-websocket ← downstream of org.apache.camel:camel-test-junit6
  • camel-atom ← downstream of org.apache.camel:camel-test-junit6
  • camel-attachments ← downstream of org.apache.camel:camel-bean
  • camel-avro ← downstream of org.apache.camel:camel-test-junit6
  • camel-avro-rpc ← downstream of org.apache.camel:camel-test-junit6
  • camel-aws-bedrock ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws-cloudtrail ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws-config ← downstream of org.apache.camel:camel-test-junit6
  • camel-aws-parameter-store ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws-secrets-manager ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws-security-hub ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-athena ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-comprehend ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-cw ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-ddb ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-ec2 ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-ecs ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-eks ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-eventbridge ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-iam ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-kinesis ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-kms ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-lambda ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-mq ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-msk ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-polly ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-redshift ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-rekognition ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-s3 ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-s3-vectors ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-ses ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-sns ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-sqs ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-step-functions ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-sts ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-textract ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-timestream ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-aws2-transcribe ← downstream of org.apache.camel:camel-test-junit6
  • camel-aws2-translate ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-azure-cosmosdb ← downstream of org.apache.camel:camel-test-junit6
  • camel-azure-eventgrid ← downstream of org.apache.camel:camel-test-junit6
  • camel-azure-eventhubs ← downstream of org.apache.camel:camel-test-junit6
  • camel-azure-files ← downstream of org.apache.camel:camel-test-junit6
  • camel-azure-functions ← downstream of org.apache.camel:camel-test-junit6
  • camel-azure-key-vault ← downstream of org.apache.camel:camel-test-junit6
  • camel-azure-schema-registry ← downstream of org.apache.camel:camel-test-junit6
  • camel-azure-servicebus ← downstream of org.apache.camel:camel-test-junit6
  • camel-azure-storage-blob ← downstream of org.apache.camel:camel-test-junit6
  • camel-azure-storage-datalake ← downstream of org.apache.camel:camel-test-junit6
  • camel-azure-storage-queue ← downstream of org.apache.camel:camel-test-junit6
  • camel-barcode ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-base64 ← downstream of org.apache.camel:camel-test-junit6
  • camel-bean ← components/camel-bean/src/main/java/org/apache/camel/language/bean/BeanExpression.java
  • camel-bean-validator ← downstream of org.apache.camel:camel-test-junit6
  • camel-beanio ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-bindy ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-bonita ← downstream of org.apache.camel:camel-test-junit6
  • camel-box ← downstream of org.apache.camel:camel-test-junit6
  • camel-braintree ← downstream of org.apache.camel:camel-test-junit6
  • camel-caffeine ← downstream of org.apache.camel:camel-test-junit6
  • camel-camunda ← downstream of org.apache.camel:camel-test-junit6
  • camel-cassandraql ← downstream of org.apache.camel:camel-test-junit6
  • camel-cbor ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-chatscript ← downstream of org.apache.camel:camel-test-junit6
  • camel-chunk ← downstream of org.apache.camel:camel-test-junit6
  • camel-cli-connector ← downstream of org.apache.camel:camel-management
  • camel-cli-debug ← downstream of org.apache.camel:camel-cli-connector
  • camel-clickhouse ← downstream of org.apache.camel:camel-test-junit6
  • camel-clickup ← downstream of org.apache.camel:camel-test-junit6
  • camel-cloudevents ← downstream of org.apache.camel:camel-test-junit6
  • camel-cm-sms ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-coap ← downstream of org.apache.camel:camel-test-junit6
  • camel-cometd ← downstream of org.apache.camel:camel-test-junit6
  • camel-console ← downstream of org.apache.camel:camel-management
  • camel-consul ← downstream of org.apache.camel:camel-bean
  • camel-core ← core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleSyntaxHintsTest.java
  • camel-core-all ← downstream of org.apache.camel:camel-management
  • camel-couchbase ← downstream of org.apache.camel:camel-test-junit6
  • camel-couchdb ← downstream of org.apache.camel:camel-test-junit6
  • camel-cron ← downstream of org.apache.camel:camel-test-junit6
  • camel-crypto ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-crypto-pgp ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-csv ← downstream of org.apache.camel:camel-main
  • camel-cxf-common ← downstream of org.apache.camel:camel-test-junit6
  • camel-cxf-rest ← downstream of org.apache.camel:camel-test-junit6
  • camel-cxf-soap ← downstream of org.apache.camel:camel-test-junit6
  • camel-cxf-spring-common ← downstream of org.apache.camel:camel-spring-xml
  • camel-cxf-spring-rest ← downstream of org.apache.camel:camel-spring-xml
  • camel-cxf-spring-soap ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-cxf-spring-transport ← downstream of org.apache.camel:camel-test-junit6
  • camel-cxf-transport ← downstream of org.apache.camel:camel-test-junit6
  • camel-cyberark-vault ← downstream of org.apache.camel:camel-test-junit6
  • camel-dapr ← downstream of org.apache.camel:camel-test-junit6
  • camel-datasonnet ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-debezium-common ← downstream of org.apache.camel:camel-test-junit6
  • camel-debezium-db2 ← downstream of org.apache.camel:camel-test-junit6
  • camel-debezium-maven-plugin ← downstream of org.apache.camel:camel-test-junit6
  • camel-debezium-mongodb ← downstream of org.apache.camel:camel-test-junit6
  • camel-debezium-mysql ← downstream of org.apache.camel:camel-test-junit6
  • camel-debezium-oracle ← downstream of org.apache.camel:camel-test-junit6
  • camel-debezium-postgres ← downstream of org.apache.camel:camel-test-junit6
  • camel-debezium-sqlserver ← downstream of org.apache.camel:camel-test-junit6
  • camel-debug ← downstream of org.apache.camel:camel-management
  • camel-dfdl ← downstream of org.apache.camel:camel-test-junit6
  • camel-dhis2 ← downstream of org.apache.camel:camel-test-junit6
  • camel-dhis2-api ← downstream of org.apache.camel:camel-test-junit6
  • camel-dhis2-parent ← downstream of org.apache.camel:camel-test-junit6
  • camel-diagram ← downstream of org.apache.camel:camel-management
  • camel-disruptor ← downstream of org.apache.camel:camel-test-junit6
  • camel-djl ← downstream of org.apache.camel:camel-test-junit6
  • camel-dns ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-docker ← downstream of org.apache.camel:camel-test-junit6
  • camel-docling ← downstream of org.apache.camel:camel-test-junit6
  • camel-drill ← downstream of org.apache.camel:camel-test-junit6
  • camel-dropbox ← downstream of org.apache.camel:camel-test-junit6
  • camel-dsl-modeline ← downstream of org.apache.camel:camel-test-junit6
  • camel-duckdb ← downstream of org.apache.camel:camel-test-junit6
  • camel-dynamic-router ← downstream of org.apache.camel:camel-management
  • camel-ehcache ← downstream of org.apache.camel:camel-test-junit6
  • camel-elasticsearch ← downstream of org.apache.camel:camel-test-junit6
  • camel-elasticsearch-rest-client ← downstream of org.apache.camel:camel-test-junit6
  • camel-event ← downstream of org.apache.camel:camel-test-junit6
  • camel-exec ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-fastjson ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-fhir ← downstream of org.apache.camel:camel-test-junit6
  • camel-file-watch ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-flatpack ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-flink ← downstream of org.apache.camel:camel-test-junit6
  • camel-flowable ← downstream of org.apache.camel:camel-test-junit6
  • camel-fop ← downstream of org.apache.camel:camel-test-junit6
  • camel-fory ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-freemarker ← downstream of org.apache.camel:camel-management
  • camel-ftp ← downstream of org.apache.camel:camel-test-junit6
  • camel-geocoder ← downstream of org.apache.camel:camel-test-junit6
  • camel-git ← downstream of org.apache.camel:camel-test-junit6
  • camel-github2 ← downstream of org.apache.camel:camel-test-junit6
  • camel-google-bigquery ← downstream of org.apache.camel:camel-test-junit6
  • camel-google-calendar ← downstream of org.apache.camel:camel-test-junit6
  • camel-google-drive ← downstream of org.apache.camel:camel-test-junit6
  • camel-google-firestore ← downstream of org.apache.camel:camel-test-junit6
  • camel-google-functions ← downstream of org.apache.camel:camel-test-junit6
  • camel-google-mail ← downstream of org.apache.camel:camel-test-junit6
  • camel-google-pubsub ← downstream of org.apache.camel:camel-test-junit6
  • camel-google-secret-manager ← downstream of org.apache.camel:camel-test-junit6
  • camel-google-sheets ← downstream of org.apache.camel:camel-test-junit6
  • camel-google-speech-to-text ← downstream of org.apache.camel:camel-test-junit6
  • camel-google-storage ← downstream of org.apache.camel:camel-test-junit6
  • camel-google-text-to-speech ← downstream of org.apache.camel:camel-test-junit6
  • camel-google-vertexai ← downstream of org.apache.camel:camel-test-junit6
  • camel-google-vision ← downstream of org.apache.camel:camel-test-junit6
  • camel-graphql ← downstream of org.apache.camel:camel-test-junit6
  • camel-grok ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-groovy ← components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyExpression.java, components/camel-groovy/src/test/java/org/apache/camel/processor/groovy/GroovyMissingPropertyHintTest.java
  • camel-grpc ← downstream of org.apache.camel:camel-test-junit6
  • camel-gson ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-hashicorp-vault ← downstream of org.apache.camel:camel-test-junit6
  • camel-hazelcast ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-hivemq ← downstream of org.apache.camel:camel-test-junit6
  • camel-hl7 ← downstream of org.apache.camel:camel-test-junit6
  • camel-http ← downstream of org.apache.camel:camel-management
  • camel-http-base ← downstream of org.apache.camel:camel-test-junit6
  • camel-http-common ← downstream of org.apache.camel:camel-test-junit6
  • camel-huaweicloud-dms ← downstream of org.apache.camel:camel-test-junit6
  • camel-huaweicloud-frs ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-huaweicloud-functiongraph ← downstream of org.apache.camel:camel-test-junit6
  • camel-huaweicloud-iam ← downstream of org.apache.camel:camel-test-junit6
  • camel-huaweicloud-imagerecognition ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-huaweicloud-obs ← downstream of org.apache.camel:camel-test-junit6
  • camel-huaweicloud-smn ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-huggingface ← downstream of org.apache.camel:camel-test-junit6
  • camel-ibm-cos ← downstream of org.apache.camel:camel-test-junit6
  • camel-ibm-secrets-manager ← downstream of org.apache.camel:camel-test-junit6
  • camel-ibm-watson-discovery ← downstream of org.apache.camel:camel-test-junit6
  • camel-ibm-watson-language ← downstream of org.apache.camel:camel-test-junit6
  • camel-ibm-watson-speech-to-text ← downstream of org.apache.camel:camel-test-junit6
  • camel-ibm-watson-text-to-speech ← downstream of org.apache.camel:camel-test-junit6
  • camel-ibm-watsonx-ai ← downstream of org.apache.camel:camel-test-junit6
  • camel-ibm-watsonx-data ← downstream of org.apache.camel:camel-test-junit6
  • camel-ical ← downstream of org.apache.camel:camel-test-junit6
  • camel-iggy ← downstream of org.apache.camel:camel-test-junit6
  • camel-ignite ← downstream of org.apache.camel:camel-test-junit6
  • camel-infinispan ← downstream of org.apache.camel:camel-test-junit6
  • camel-infinispan-common ← downstream of org.apache.camel:camel-test-junit6
  • camel-infinispan-embedded ← downstream of org.apache.camel:camel-test-junit6
  • camel-influxdb ← downstream of org.apache.camel:camel-test-junit6
  • camel-influxdb2 ← downstream of org.apache.camel:camel-test-junit6
  • camel-iso8583 ← downstream of org.apache.camel:camel-groovy
  • camel-jackson ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-jackson-avro ← downstream of org.apache.camel:camel-test-junit6
  • camel-jackson-protobuf ← downstream of org.apache.camel:camel-test-junit6
  • camel-jackson3 ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-jackson3-avro ← downstream of org.apache.camel:camel-test-junit6
  • camel-jackson3-protobuf ← downstream of org.apache.camel:camel-test-junit6
  • camel-jackson3xml ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-jacksonxml ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-jactl ← downstream of org.apache.camel:camel-test-junit6
  • camel-jandex ← downstream of org.apache.camel:camel-test-junit6
  • camel-jasypt ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-java-joor-dsl ← downstream of org.apache.camel:camel-bean
  • camel-javascript ← downstream of org.apache.camel:camel-test-junit6
  • camel-jaxb ← downstream of org.apache.camel:camel-test-junit6
  • camel-jbang-console ← downstream of org.apache.camel:camel-management
  • camel-jbang-mcp ← downstream of org.apache.camel:camel-xml-io-dsl
  • camel-jbang-plugin-mcp ← downstream of org.apache.camel:camel-jbang-core
  • camel-jbang-plugin-tui ← downstream of org.apache.camel:camel-test-junit6
  • camel-jbang-plugin-validate ← downstream of org.apache.camel:camel-test-junit6
  • camel-jcache ← downstream of org.apache.camel:camel-test-junit6
  • camel-jcr ← downstream of org.apache.camel:camel-test-junit6
  • camel-jdbc ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-jetty ← downstream of org.apache.camel:camel-management
  • camel-jetty-common ← downstream of org.apache.camel:camel-spring-xml
  • camel-jfr ← downstream of org.apache.camel:camel-test-junit6
  • camel-jgroups ← downstream of org.apache.camel:camel-test-junit6
  • camel-jgroups-raft ← downstream of org.apache.camel:camel-test-junit6
  • camel-jira ← downstream of org.apache.camel:camel-test-junit6
  • camel-jms ← downstream of org.apache.camel:camel-management
  • camel-jmx ← downstream of org.apache.camel:camel-management
  • camel-jolt ← downstream of org.apache.camel:camel-test-junit6
  • camel-jooq ← downstream of org.apache.camel:camel-test-junit6
  • camel-joor ← downstream of org.apache.camel:camel-test-junit6
  • camel-jpa ← downstream of org.apache.camel:camel-test-junit6
  • camel-jq ← downstream of org.apache.camel:camel-test-junit6
  • camel-jsch ← downstream of org.apache.camel:camel-test-junit6
  • camel-jslt ← downstream of org.apache.camel:camel-test-junit6
  • camel-json-validator ← downstream of org.apache.camel:camel-test-junit6
  • camel-jsonapi ← downstream of org.apache.camel:camel-test-junit6
  • camel-jsonata ← downstream of org.apache.camel:camel-test-junit6
  • camel-jsonb ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-jsonpath ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-jsoup ← downstream of org.apache.camel:camel-test-junit6
  • camel-jt400 ← downstream of org.apache.camel:camel-test-junit6
  • camel-jta ← downstream of org.apache.camel:camel-sql
  • camel-jte ← downstream of org.apache.camel:camel-test-junit6
  • camel-kafka ← downstream of org.apache.camel:camel-test-junit6
  • camel-kafka-common ← downstream of org.apache.camel:camel-test-junit6
  • camel-kafka-share ← downstream of org.apache.camel:camel-test-junit6
  • camel-kamelet ← downstream of org.apache.camel:camel-groovy
  • camel-kamelet-main-support ← downstream of org.apache.camel:camel-main
  • camel-keycloak ← downstream of org.apache.camel:camel-test-junit6
  • camel-knative ← downstream of org.apache.camel:camel-test-junit6
  • camel-knative-api ← downstream of org.apache.camel:camel-test-junit6
  • camel-knative-http ← downstream of org.apache.camel:camel-test-junit6
  • camel-kserve ← downstream of org.apache.camel:camel-test-junit6
  • camel-kubernetes ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-kudu ← downstream of org.apache.camel:camel-test-junit6
  • camel-langchain4j-agent ← downstream of org.apache.camel:camel-test-junit6
  • camel-langchain4j-chat ← downstream of org.apache.camel:camel-test-junit6
  • camel-langchain4j-core ← downstream of org.apache.camel:camel-test-junit6
  • camel-langchain4j-embeddings ← downstream of org.apache.camel:camel-test-junit6
  • camel-langchain4j-embeddingstore ← downstream of org.apache.camel:camel-test-junit6
  • camel-langchain4j-ingest ← downstream of org.apache.camel:camel-test-junit6
  • camel-langchain4j-tokenizer ← downstream of org.apache.camel:camel-test-junit6
  • camel-langchain4j-web-search ← downstream of org.apache.camel:camel-test-junit6
  • camel-launcher-container ← downstream of org.apache.camel:camel-launcher
  • camel-ldap ← downstream of org.apache.camel:camel-test-junit6
  • camel-ldif ← downstream of org.apache.camel:camel-test-junit6
  • camel-lra ← downstream of org.apache.camel:camel-test-junit6
  • camel-lucene ← downstream of org.apache.camel:camel-test-junit6
  • camel-lumberjack ← downstream of org.apache.camel:camel-test-junit6
  • camel-lzf ← downstream of org.apache.camel:camel-test-junit6
  • camel-mail ← downstream of org.apache.camel:camel-attachments
  • camel-mail-microsoft-oauth ← downstream of org.apache.camel:camel-mail
  • camel-main ← downstream of org.apache.camel:camel-bean
  • camel-management ← downstream of org.apache.camel:camel-bean
  • camel-mapstruct ← downstream of org.apache.camel:camel-test-junit6
  • camel-master ← downstream of org.apache.camel:camel-test-junit6
  • camel-maven-plugin ← downstream of org.apache.camel:camel-spring-main
  • camel-mcp-server ← downstream of org.apache.camel:camel-test-junit6
  • camel-mcp-server-api ← downstream of org.apache.camel:camel-test-junit6
  • camel-mdc ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-metrics ← downstream of org.apache.camel:camel-management
  • camel-micrometer ← downstream of org.apache.camel:camel-management
  • camel-micrometer-observability ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-micrometer-prometheus ← downstream of org.apache.camel:camel-micrometer
  • camel-microprofile-config ← downstream of org.apache.camel:camel-test-junit6
  • camel-microprofile-fault-tolerance ← downstream of org.apache.camel:camel-management
  • camel-microprofile-health ← downstream of org.apache.camel:camel-test-junit6
  • camel-milo ← downstream of org.apache.camel:camel-test-junit6
  • camel-milvus ← downstream of org.apache.camel:camel-test-junit6
  • camel-mina ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-mina-sftp ← downstream of org.apache.camel:camel-test-junit6
  • camel-minio ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-mllp ← downstream of org.apache.camel:camel-test-junit6
  • camel-mongodb ← downstream of org.apache.camel:camel-test-junit6
  • camel-mongodb-gridfs ← downstream of org.apache.camel:camel-test-junit6
  • camel-mustache ← downstream of org.apache.camel:camel-test-junit6
  • camel-mvel ← downstream of org.apache.camel:camel-test-junit6
  • camel-mybatis ← downstream of org.apache.camel:camel-bean
  • camel-nats ← downstream of org.apache.camel:camel-test-junit6
  • camel-neo4j ← downstream of org.apache.camel:camel-test-junit6
  • camel-netty ← downstream of org.apache.camel:camel-management
  • camel-netty-http ← downstream of org.apache.camel:camel-management
  • camel-oaipmh ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-oauth ← downstream of org.apache.camel:camel-test-junit6
  • camel-observability-services ← downstream of org.apache.camel:camel-management
  • camel-observation ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-ocsf ← downstream of org.apache.camel:camel-test-junit6
  • camel-odata ← downstream of org.apache.camel:camel-test-junit6
  • camel-ognl ← downstream of org.apache.camel:camel-test-junit6
  • camel-olingo2 ← downstream of org.apache.camel:camel-test-junit6
  • camel-olingo2-api ← downstream of org.apache.camel:camel-test-junit6
  • camel-olingo4 ← downstream of org.apache.camel:camel-test-junit6
  • camel-olingo4-api ← downstream of org.apache.camel:camel-test-junit6
  • camel-once ← downstream of org.apache.camel:camel-groovy
  • camel-opa ← downstream of org.apache.camel:camel-test-junit6
  • camel-openai ← downstream of org.apache.camel:camel-test-junit6
  • camel-openapi-java ← downstream of org.apache.camel:camel-management
  • camel-openapi-validator ← downstream of org.apache.camel:camel-test-junit6
  • camel-openfeature ← downstream of org.apache.camel:camel-test-junit6
  • camel-openfga ← downstream of org.apache.camel:camel-test-junit6
  • camel-opensearch ← downstream of org.apache.camel:camel-test-junit6
  • camel-openstack ← downstream of org.apache.camel:camel-test-junit6
  • camel-opentelemetry ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-opentelemetry-metrics ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-opentelemetry2 ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-optaplanner ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-paho ← downstream of org.apache.camel:camel-test-junit6
  • camel-paho-mqtt5 ← downstream of org.apache.camel:camel-test-junit6
  • camel-parquet-avro ← downstream of org.apache.camel:camel-test-junit6
  • camel-pdf ← downstream of org.apache.camel:camel-test-junit6
  • camel-pg-replication-slot ← downstream of org.apache.camel:camel-test-junit6
  • camel-pgevent ← downstream of org.apache.camel:camel-test-junit6
  • camel-pgvector ← downstream of org.apache.camel:camel-test-junit6
  • camel-pinecone ← downstream of org.apache.camel:camel-test-junit6
  • camel-platform-http ← downstream of org.apache.camel:camel-test-junit6
  • camel-platform-http-jolokia ← downstream of org.apache.camel:camel-platform-http
  • camel-platform-http-main ← downstream of org.apache.camel:camel-test-junit6
  • camel-platform-http-vertx ← downstream of org.apache.camel:camel-management
  • camel-plc4x ← downstream of org.apache.camel:camel-test-junit6
  • camel-pqc ← downstream of org.apache.camel:camel-test-junit6
  • camel-printer ← downstream of org.apache.camel:camel-test-junit6
  • camel-protobuf ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-pubnub ← downstream of org.apache.camel:camel-test-junit6
  • camel-pulsar ← downstream of org.apache.camel:camel-test-junit6
  • camel-python ← downstream of org.apache.camel:camel-test-junit6
  • camel-python3 ← downstream of org.apache.camel:camel-test-junit6
  • camel-qdrant ← downstream of org.apache.camel:camel-test-junit6
  • camel-quartz ← downstream of org.apache.camel:camel-management
  • camel-quickfix ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-quickjs ← downstream of org.apache.camel:camel-test-junit6
  • camel-reactive-streams ← downstream of org.apache.camel:camel-management
  • camel-reactor ← downstream of org.apache.camel:camel-test-junit6
  • camel-redis ← downstream of org.apache.camel:camel-test-junit6
  • camel-resilience4j ← downstream of org.apache.camel:camel-management
  • camel-resilience4j-micrometer ← downstream of org.apache.camel:camel-management
  • camel-resourceresolver-github ← downstream of org.apache.camel:camel-test-junit6
  • camel-rest-openapi ← downstream of org.apache.camel:camel-test-junit6
  • camel-rest-postman ← downstream of org.apache.camel:camel-test-junit6
  • camel-restdsl-openapi-plugin ← downstream of org.apache.camel:camel-openapi-java
  • camel-robotframework ← downstream of org.apache.camel:camel-test-junit6
  • camel-rocketmq ← downstream of org.apache.camel:camel-test-junit6
  • camel-rss ← downstream of org.apache.camel:camel-test-junit6
  • camel-rxjava ← downstream of org.apache.camel:camel-test-junit6
  • camel-salesforce ← downstream of org.apache.camel:camel-test-junit6
  • camel-salesforce-codegen ← downstream of org.apache.camel:camel-salesforce
  • camel-salesforce-maven-plugin ← downstream of org.apache.camel:camel-test-junit6
  • camel-sap-netweaver ← downstream of org.apache.camel:camel-test-junit6
  • camel-saxon ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-schematron ← downstream of org.apache.camel:camel-test-junit6
  • camel-semantic ← downstream of org.apache.camel:camel-management
  • camel-semantic-openai ← downstream of org.apache.camel:camel-test-junit6
  • camel-semantic-typesafe-ai ← downstream of org.apache.camel:camel-test-junit6
  • camel-semantic-wolf-defender ← downstream of org.apache.camel:camel-test-junit6
  • camel-servicenow ← downstream of org.apache.camel:camel-test-junit6
  • camel-servicenow-maven-plugin ← downstream of org.apache.camel:camel-test-junit6
  • camel-servlet ← downstream of org.apache.camel:camel-management
  • camel-shell ← downstream of org.apache.camel:camel-test-junit5
  • camel-shiro ← downstream of org.apache.camel:camel-test-junit6
  • camel-sjms ← downstream of org.apache.camel:camel-test-junit6
  • camel-sjms2 ← downstream of org.apache.camel:camel-test-junit6
  • camel-slack ← downstream of org.apache.camel:camel-test-junit6
  • camel-smb ← downstream of org.apache.camel:camel-test-junit6
  • camel-smooks ← downstream of org.apache.camel:camel-test-junit6
  • camel-smpp ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-snakeyaml ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-snmp ← downstream of org.apache.camel:camel-test-junit6
  • camel-soap ← downstream of org.apache.camel:camel-test-junit6
  • camel-solr ← downstream of org.apache.camel:camel-test-junit6
  • camel-spiffe ← downstream of org.apache.camel:camel-test-junit6
  • camel-splunk-hec ← downstream of org.apache.camel:camel-test-junit6
  • camel-spring ← downstream of org.apache.camel:camel-cron
  • camel-spring-ai-chat ← downstream of org.apache.camel:camel-test-junit6
  • camel-spring-ai-embeddings ← downstream of org.apache.camel:camel-test-junit6
  • camel-spring-ai-image ← downstream of org.apache.camel:camel-test-junit6
  • camel-spring-ai-vector-store ← downstream of org.apache.camel:camel-test-junit6
  • camel-spring-batch ← downstream of org.apache.camel:camel-test-junit6
  • camel-spring-cloud-config ← downstream of org.apache.camel:camel-test-junit6
  • camel-spring-jdbc ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-spring-ldap ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-spring-main ← downstream of org.apache.camel:camel-main
  • camel-spring-rabbitmq ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-spring-redis ← downstream of org.apache.camel:camel-test-junit6
  • camel-spring-security ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-spring-ws ← downstream of org.apache.camel:camel-attachments
  • camel-spring-xml ← downstream of org.apache.camel:camel-bean
  • camel-sql ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-ssh ← downstream of org.apache.camel:camel-test-junit6
  • camel-state-store ← downstream of org.apache.camel:camel-test-main-junit5
  • camel-stax ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-stitch ← downstream of org.apache.camel:camel-test-junit6
  • camel-stream ← downstream of org.apache.camel:camel-test-junit6
  • camel-streamcaching-test ← downstream of org.apache.camel:camel-test-junit6
  • camel-stringtemplate ← downstream of org.apache.camel:camel-management
  • camel-stripe ← downstream of org.apache.camel:camel-test-junit6
  • camel-swift ← downstream of org.apache.camel:camel-test-junit6
  • camel-syslog ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-tahu ← downstream of org.apache.camel:camel-test-junit6
  • camel-tarfile ← downstream of org.apache.camel:camel-test-junit6
  • camel-telegram ← downstream of org.apache.camel:camel-test-junit6
  • camel-telemetry ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-telemetry-dev ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-tensorflow-serving ← downstream of org.apache.camel:camel-test-junit6
  • camel-test-citrus ← downstream of org.apache.camel:camel-test-junit6
  • camel-test-infra-all ← downstream of org.apache.camel:camel-test-infra-artemis
  • camel-test-infra-artemis ← downstream of org.apache.camel:camel-test-junit6
  • camel-test-infra-smb ← downstream of org.apache.camel:camel-test-junit6
  • camel-test-junit5 ← downstream of org.apache.camel:camel-bean
  • camel-test-junit6 ← downstream of org.apache.camel:camel-bean
  • camel-test-main-junit5 ← downstream of org.apache.camel:camel-management
  • camel-test-main-junit6 ← downstream of org.apache.camel:camel-management
  • camel-test-spring-junit5 ← downstream of org.apache.camel:camel-management
  • camel-test-spring-junit6 ← downstream of org.apache.camel:camel-management
  • camel-thrift ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-thymeleaf ← downstream of org.apache.camel:camel-management
  • camel-tika ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-toon ← downstream of org.apache.camel:camel-test-junit5
  • camel-tracing ← downstream of org.apache.camel:camel-test-spring-junit6
  • camel-twilio ← downstream of org.apache.camel:camel-test-junit6
  • camel-twitter ← downstream of org.apache.camel:camel-test-junit6
  • camel-typesafe-ai ← downstream of org.apache.camel:camel-test-junit6
  • camel-ubl ← downstream of org.apache.camel:camel-test-junit5
  • camel-undertow ← downstream of org.apache.camel:camel-management
  • camel-undertow-spring-security ← downstream of org.apache.camel:camel-test-junit6
  • camel-univocity-parsers ← downstream of org.apache.camel:camel-spring-xml
  • camel-velocity ← downstream of org.apache.camel:camel-management
  • camel-vertx ← downstream of org.apache.camel:camel-test-junit6
  • camel-vertx-http ← downstream of org.apache.camel:camel-test-junit6
  • camel-vertx-websocket ← downstream of org.apache.camel:camel-test-junit6
  • camel-wasm ← downstream of org.apache.camel:camel-test-junit6
  • camel-weather ← downstream of org.apache.camel:camel-test-junit6
  • camel-weaviate ← downstream of org.apache.camel:camel-test-junit6
  • camel-web3j ← downstream of org.apache.camel:camel-test-junit6
  • camel-webhook ← downstream of org.apache.camel:camel-test-junit6
  • camel-whatsapp ← downstream of org.apache.camel:camel-test-junit6
  • camel-wordpress ← downstream of org.apache.camel:camel-test-junit6
  • camel-workday ← downstream of org.apache.camel:camel-test-junit6
  • camel-xchange ← downstream of org.apache.camel:camel-test-junit6
  • camel-xj ← downstream of org.apache.camel:camel-test-junit6
  • camel-xml-io-dsl ← downstream of org.apache.camel:camel-bean
  • camel-xml-jaxb-dsl ← downstream of org.apache.camel:camel-bean
  • camel-xml-jaxb-dsl-test-definition ← downstream of org.apache.camel:camel-bean
  • camel-xml-jaxb-dsl-test-spring ← downstream of org.apache.camel:camel-bean
  • camel-xmlsecurity ← downstream of org.apache.camel:camel-test-junit6
  • camel-xmpp ← downstream of org.apache.camel:camel-test-junit6
  • camel-xslt-saxon ← downstream of org.apache.camel:camel-spring-xml
  • camel-yaml-dsl-validator ← downstream of org.apache.camel:camel-yaml-dsl
  • camel-yaml-dsl-validator-maven-plugin ← downstream of org.apache.camel:camel-yaml-dsl-validator
  • camel-zendesk ← downstream of org.apache.camel:camel-test-junit6
  • camel-zip-deflater ← downstream of org.apache.camel:camel-test-junit6
  • camel-zipfile ← downstream of org.apache.camel:camel-test-junit6
  • camel-zookeeper ← downstream of org.apache.camel:camel-bean
  • camel-zookeeper-master ← downstream of org.apache.camel:camel-test-junit6
Modules with tests skipped (27)
  • apache-camel
  • camel-allcomponents
  • camel-catalog
  • camel-catalog-console
  • camel-catalog-maven
  • camel-catalog-suggest
  • camel-componentdsl
  • camel-endpointdsl
  • camel-endpointdsl-support
  • camel-itest
  • camel-jbang-core
  • camel-jbang-it
  • camel-jbang-main
  • camel-jbang-plugin-edit
  • camel-jbang-plugin-generate
  • camel-jbang-plugin-kubernetes
  • camel-jbang-plugin-test
  • camel-kamelet-main
  • camel-launcher
  • camel-report-maven-plugin
  • camel-route-parser
  • camel-yaml-dsl
  • camel-yaml-dsl-deserializers
  • camel-yaml-dsl-maven-plugin
  • coverage
  • docs
  • dummy-component

ℹ️ Shadow mode — Scalpel observes but does not affect test execution. Learn more

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

  • core/camel-core: 4 test(s) disabled on GitHub Actions
Build reactor — dependencies compiled but only changed modules were tested (3 modules, 23.6s total)

Total reactor time: 23.6s

Module Duration Status
Camel :: Groovy 14.4s SUCCESS
Camel :: Bean 9.3s SUCCESS
Camel :: Core n/a

Top 20 slowest modules:

  • Camel :: Groovy (14.4s)
  • Camel :: Bean (9.3s)

⚙️ View full build and test results

@davsclaus
davsclaus merged commit 58966e9 into main Oct 18, 2026
6 checks passed
@github-actions
github-actions Bot deleted the feature/CAMEL-25749-body-facts-reads branch October 18, 2026 19:48
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