You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by "davsclaus (via GitHub)" <gi...@apache.org> on 2026/10/17 06:18:51 UTC
[PR] CAMEL-25716: camel-management - remote exchange counters per route, for camel get processor --remote [camel]
davsclaus opened a new pull request, #27996:
URL: https://github.com/apache/camel/pull/27996
[CAMEL-25716](https://issues.apache.org/jira/browse/CAMEL-25716): **remote exchange counters per route**, so that `camel get processor --remote` has something to show.
### Why
The CamelContext counts the exchanges that came from a remote endpoint, such as Kafka or HTTP, apart from the internal ones such as a timer ([CAMEL-20879](https://issues.apache.org/jira/browse/CAMEL-20879)). The routes did not, and the route dev console had no remote counters, so `camel get processor --remote` ("Break down counters into remote/total pairs") never showed a pair. Found while testing the CLI for CAMEL-23688 (raised in #27974).
### The change
- `ManagedRouteMBean` (camel-management-api): `RemoteExchangesTotal`, `RemoteExchangesCompleted`, `RemoteExchangesFailed`, `RemoteExchangesInflight`, as the context has them (`@since 4.24`).
- `ManagedRoute` (camel-management):
- a route whose consumer is remote has only remote exchanges, so its remote counters are its own counters: nothing more is counted, at no cost;
- a route whose consumer is internal (`direct`, `seda`) counts the exchanges it processes that came from a remote endpoint (`exchange.getFromEndpoint().isRemote()`, as the context does), such as a `direct:audit` route called by a Kafka route. An internal exchange costs one check per hook; a remote one in such a route costs the counters (the `StatisticCounter`s the context uses too). `reset()` resets them.
- `RouteDevConsole` (camel-console): the statistics of a route have `remoteExchangesTotal`, `remoteExchangesFailed` and `remoteExchangesInflight`, as the context console has; the dev console metadata and the catalog (`dev-consoles/route.json`, `dev-consoles-openapi.json`) are regenerated.
- The CLI: `camel get processor --remote` shows the remote/total pairs of the routes; `camel get route` and `camel top route` have `--remote` too; the JSON of `camel get context`, `get route` and `get processor` has `remoteTotal`, `remoteFailed` and `remoteInflight`. The managing page of the CLI says what `--remote` shows.
### Tests
- `ManagedRouteRemoteExchangesTest` (new, camel-management): a remote route (a `direct` component whose endpoints are remote), an internal route and a `direct:audit` route both call, with one failure: the remote route has all its exchanges as remote, the audit route only those of the remote route (3 of 4, one failed), the internal route none; `reset()` resets them.
- `CamelRouteStatusTest`, `CamelProcessorStatusTest`, `CamelContextStatusTest`: `--remote` shows the pairs (a processor has none), and the JSON has the remote counters.
`mvn test` of the route MBean tests of camel-management (84; `ManagedRouteStopWithAbortAfterTimeoutTest` failed once and passed on re-runs: it races 5 x 100 ms of work against a 1 s stop timeout, unrelated), the dev console tests of camel-console, and the listing tests of camel-jbang-core (49): all pass.
_Claude Code on behalf of davsclaus_
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01DDRLJAyf8cDXSg8iX785My
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] CAMEL-25716: camel-management - remote exchange counters per route, for camel get processor --remote [camel]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #27996:
URL: https://github.com/apache/camel/pull/27996#issuecomment-6231021446
<!-- ci-tested-modules -->
:test_tube: **CI tested the following changed modules:**
- `catalog/camel-catalog`
- `core/camel-console`
- `core/camel-management-api`
- `core/camel-management`
- `docs`
- `dsl/camel-jbang/camel-jbang-core`
> :information_source: 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.
---
<details><summary>:microscope: Scalpel shadow comparison — Scalpel: 575 of 706 tested, 24 compile-only — current: 575 all tested</summary>
[Maveniverse Scalpel](https://github.com/maveniverse/scalpel) detected **575 affected modules** (current approach: 575).
**Skip-tests mode would test 575 modules** (6 direct + 572 downstream), **skip tests for 24** (generated code, meta-modules)
<details><summary>Modules Scalpel would test (575)</summary>
- `archetypes` ← downstream of org.apache.camel:camel-support
- `camel-a2a` ← downstream of org.apache.camel:camel-support
- `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-support
- `camel-ai-observability-api` ← downstream of org.apache.camel:camel-support
- `camel-ai-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-ai-resource` ← downstream of org.apache.camel:camel-support
- `camel-ai-tool` ← downstream of org.apache.camel:camel-support
- `camel-alibaba-common` ← downstream of org.apache.camel:camel-support
- `camel-alibaba-eventbridge` ← downstream of org.apache.camel:camel-support
- `camel-alibaba-fc` ← downstream of org.apache.camel:camel-support
- `camel-alibaba-kms` ← downstream of org.apache.camel:camel-support
- `camel-alibaba-mns` ← downstream of org.apache.camel:camel-support
- `camel-alibaba-oss` ← downstream of org.apache.camel:camel-support
- `camel-alibaba-ots` ← downstream of org.apache.camel:camel-support
- `camel-alibaba-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-alibaba-sls` ← downstream of org.apache.camel:camel-support
- `camel-alibaba-sms` ← downstream of org.apache.camel:camel-support
- `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-support
- `camel-archetype-api-component` ← downstream of org.apache.camel:camel-support
- `camel-archetype-component` ← downstream of org.apache.camel:camel-support
- `camel-archetype-dataformat` ← downstream of org.apache.camel:camel-support
- `camel-archetype-java` ← downstream of org.apache.camel:camel-support
- `camel-archetype-main` ← downstream of org.apache.camel:camel-support
- `camel-as2` ← downstream of org.apache.camel:camel-support
- `camel-as2-api` ← downstream of org.apache.camel:camel-test-junit6
- `camel-as2-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-asn1` ← downstream of org.apache.camel:camel-support
- `camel-asterisk` ← downstream of org.apache.camel:camel-support
- `camel-atmosphere-websocket` ← downstream of org.apache.camel:camel-support
- `camel-atom` ← downstream of org.apache.camel:camel-support
- `camel-attachments` ← downstream of org.apache.camel:camel-support
- `camel-avro` ← downstream of org.apache.camel:camel-support
- `camel-avro-rpc` ← downstream of org.apache.camel:camel-support
- `camel-avro-rpc-jetty` ← downstream of org.apache.camel:camel-core-model
- `camel-avro-rpc-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-avro-rpc-spi` ← downstream of org.apache.camel:camel-core-model
- `camel-aws-bedrock` ← downstream of org.apache.camel:camel-support
- `camel-aws-cloudtrail` ← downstream of org.apache.camel:camel-support
- `camel-aws-common` ← downstream of org.apache.camel:camel-support
- `camel-aws-config` ← downstream of org.apache.camel:camel-support
- `camel-aws-parameter-store` ← downstream of org.apache.camel:camel-support
- `camel-aws-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-aws-secrets-manager` ← downstream of org.apache.camel:camel-support
- `camel-aws-security-hub` ← downstream of org.apache.camel:camel-support
- `camel-aws2-athena` ← downstream of org.apache.camel:camel-support
- `camel-aws2-comprehend` ← downstream of org.apache.camel:camel-support
- `camel-aws2-cw` ← downstream of org.apache.camel:camel-support
- `camel-aws2-ddb` ← downstream of org.apache.camel:camel-support
- `camel-aws2-ec2` ← downstream of org.apache.camel:camel-support
- `camel-aws2-ecs` ← downstream of org.apache.camel:camel-support
- `camel-aws2-eks` ← downstream of org.apache.camel:camel-support
- `camel-aws2-eventbridge` ← downstream of org.apache.camel:camel-support
- `camel-aws2-iam` ← downstream of org.apache.camel:camel-support
- `camel-aws2-kinesis` ← downstream of org.apache.camel:camel-support
- `camel-aws2-kms` ← downstream of org.apache.camel:camel-support
- `camel-aws2-lambda` ← downstream of org.apache.camel:camel-support
- `camel-aws2-mq` ← downstream of org.apache.camel:camel-support
- `camel-aws2-msk` ← downstream of org.apache.camel:camel-support
- `camel-aws2-polly` ← downstream of org.apache.camel:camel-support
- `camel-aws2-redshift` ← downstream of org.apache.camel:camel-support
- `camel-aws2-rekognition` ← downstream of org.apache.camel:camel-support
- `camel-aws2-s3` ← downstream of org.apache.camel:camel-support
- `camel-aws2-s3-vectors` ← downstream of org.apache.camel:camel-support
- `camel-aws2-ses` ← downstream of org.apache.camel:camel-support
- `camel-aws2-sns` ← downstream of org.apache.camel:camel-support
- `camel-aws2-sqs` ← downstream of org.apache.camel:camel-support
- `camel-aws2-step-functions` ← downstream of org.apache.camel:camel-support
- `camel-aws2-sts` ← downstream of org.apache.camel:camel-support
- `camel-aws2-textract` ← downstream of org.apache.camel:camel-support
- `camel-aws2-timestream` ← downstream of org.apache.camel:camel-support
- `camel-aws2-transcribe` ← downstream of org.apache.camel:camel-support
- `camel-aws2-translate` ← downstream of org.apache.camel:camel-support
- `camel-azure-common` ← downstream of org.apache.camel:camel-core-model
- `camel-azure-cosmosdb` ← downstream of org.apache.camel:camel-support
- `camel-azure-eventgrid` ← downstream of org.apache.camel:camel-support
- `camel-azure-eventhubs` ← downstream of org.apache.camel:camel-support
- `camel-azure-files` ← downstream of org.apache.camel:camel-test-junit6
- `camel-azure-functions` ← downstream of org.apache.camel:camel-support
- `camel-azure-key-vault` ← downstream of org.apache.camel:camel-support
- `camel-azure-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-azure-schema-registry` ← downstream of org.apache.camel:camel-support
- `camel-azure-servicebus` ← downstream of org.apache.camel:camel-support
- `camel-azure-storage-blob` ← downstream of org.apache.camel:camel-support
- `camel-azure-storage-datalake` ← downstream of org.apache.camel:camel-support
- `camel-azure-storage-queue` ← downstream of org.apache.camel:camel-support
- `camel-barcode` ← downstream of org.apache.camel:camel-support
- `camel-base` ← downstream of org.apache.camel:camel-management-api
- `camel-base-engine` ← downstream of org.apache.camel:camel-management-api
- `camel-base64` ← downstream of org.apache.camel:camel-support
- `camel-bean` ← downstream of org.apache.camel:camel-support
- `camel-bean-validator` ← downstream of org.apache.camel:camel-support
- `camel-beanio` ← downstream of org.apache.camel:camel-support
- `camel-bindy` ← downstream of org.apache.camel:camel-support
- `camel-bonita` ← downstream of org.apache.camel:camel-support
- `camel-box` ← downstream of org.apache.camel:camel-support
- `camel-box-api` ← downstream of org.apache.camel:camel-core-model
- `camel-box-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-braintree` ← downstream of org.apache.camel:camel-support
- `camel-browse` ← downstream of org.apache.camel:camel-support
- `camel-caffeine` ← downstream of org.apache.camel:camel-support
- `camel-camunda` ← downstream of org.apache.camel:camel-support
- `camel-cassandraql` ← downstream of org.apache.camel:camel-support
- `camel-catalog-common` ← downstream of org.apache.camel:camel-support
- `camel-cbor` ← downstream of org.apache.camel:camel-support
- `camel-chatscript` ← downstream of org.apache.camel:camel-support
- `camel-chunk` ← downstream of org.apache.camel:camel-support
- `camel-cli-connector` ← downstream of org.apache.camel:camel-console
- `camel-cli-debug` ← downstream of org.apache.camel:camel-cli-connector
- `camel-clickhouse` ← downstream of org.apache.camel:camel-support
- `camel-clickup` ← downstream of org.apache.camel:camel-support
- `camel-cloudevents` ← downstream of org.apache.camel:camel-support
- `camel-cluster` ← downstream of org.apache.camel:camel-management-api
- `camel-cm-sms` ← downstream of org.apache.camel:camel-support
- `camel-coap` ← downstream of org.apache.camel:camel-support
- `camel-cometd` ← downstream of org.apache.camel:camel-support
- `camel-console` ← core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route.json, core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
- `camel-consul` ← downstream of org.apache.camel:camel-support
- `camel-controlbus` ← downstream of org.apache.camel:camel-support
- `camel-core` ← downstream of org.apache.camel:camel-core-engine
- `camel-core-all` ← downstream of org.apache.camel:camel-console
- `camel-core-engine` ← downstream of org.apache.camel:camel-management-api
- `camel-core-languages` ← downstream of org.apache.camel:camel-support
- `camel-core-model` ← downstream of org.apache.camel:camel-support
- `camel-core-processor` ← downstream of org.apache.camel:camel-support
- `camel-core-reifier` ← downstream of org.apache.camel:camel-support
- `camel-core-xml` ← downstream of org.apache.camel:camel-core-engine
- `camel-couchbase` ← downstream of org.apache.camel:camel-support
- `camel-couchdb` ← downstream of org.apache.camel:camel-support
- `camel-cron` ← downstream of org.apache.camel:camel-support
- `camel-crypto` ← downstream of org.apache.camel:camel-support
- `camel-crypto-pgp` ← downstream of org.apache.camel:camel-support
- `camel-csv` ← downstream of org.apache.camel:camel-support
- `camel-cxf-common` ← downstream of org.apache.camel:camel-support
- `camel-cxf-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-cxf-rest` ← downstream of org.apache.camel:camel-support
- `camel-cxf-soap` ← downstream of org.apache.camel:camel-support
- `camel-cxf-spring-common` ← downstream of org.apache.camel:camel-support
- `camel-cxf-spring-rest` ← downstream of org.apache.camel:camel-spring-xml
- `camel-cxf-spring-soap` ← downstream of org.apache.camel:camel-spring
- `camel-cxf-spring-transport` ← downstream of org.apache.camel:camel-test-junit6
- `camel-cxf-transport` ← downstream of org.apache.camel:camel-support
- `camel-cyberark-vault` ← downstream of org.apache.camel:camel-support
- `camel-dapr` ← downstream of org.apache.camel:camel-support
- `camel-dataformat` ← downstream of org.apache.camel:camel-support
- `camel-dataset` ← downstream of org.apache.camel:camel-core-model
- `camel-datasonnet` ← downstream of org.apache.camel:camel-support
- `camel-dataweave` ← downstream of org.apache.camel:camel-core-model
- `camel-debezium-common` ← downstream of org.apache.camel:camel-support
- `camel-debezium-common-parent` ← downstream of org.apache.camel:camel-support
- `camel-debezium-db2` ← downstream of org.apache.camel:camel-test-junit6
- `camel-debezium-maven-plugin` ← downstream of org.apache.camel:camel-support
- `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-parent` ← downstream of org.apache.camel:camel-core-model
- `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-support
- `camel-dhis2` ← downstream of org.apache.camel:camel-support
- `camel-dhis2-api` ← downstream of org.apache.camel:camel-support
- `camel-dhis2-parent` ← downstream of org.apache.camel:camel-test-junit6
- `camel-diagram` ← downstream of org.apache.camel:camel-console
- `camel-direct` ← downstream of org.apache.camel:camel-support
- `camel-disruptor` ← downstream of org.apache.camel:camel-support
- `camel-djl` ← downstream of org.apache.camel:camel-support
- `camel-dns` ← downstream of org.apache.camel:camel-support
- `camel-docker` ← downstream of org.apache.camel:camel-support
- `camel-docling` ← downstream of org.apache.camel:camel-support
- `camel-drill` ← downstream of org.apache.camel:camel-support
- `camel-dropbox` ← downstream of org.apache.camel:camel-support
- `camel-dsl-modeline` ← downstream of org.apache.camel:camel-support
- `camel-dsl-support` ← downstream of org.apache.camel:camel-support
- `camel-duckdb` ← downstream of org.apache.camel:camel-support
- `camel-dynamic-router` ← downstream of org.apache.camel:camel-management
- `camel-ehcache` ← downstream of org.apache.camel:camel-support
- `camel-elasticsearch` ← downstream of org.apache.camel:camel-support
- `camel-elasticsearch-rest-client` ← downstream of org.apache.camel:camel-support
- `camel-event` ← downstream of org.apache.camel:camel-support
- `camel-exec` ← downstream of org.apache.camel:camel-support
- `camel-fastjson` ← downstream of org.apache.camel:camel-support
- `camel-fhir` ← downstream of org.apache.camel:camel-support
- `camel-fhir-api` ← downstream of org.apache.camel:camel-support
- `camel-fhir-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-file` ← downstream of org.apache.camel:camel-support
- `camel-file-watch` ← downstream of org.apache.camel:camel-support
- `camel-flatpack` ← downstream of org.apache.camel:camel-core-engine
- `camel-flink` ← downstream of org.apache.camel:camel-support
- `camel-flowable` ← downstream of org.apache.camel:camel-support
- `camel-fop` ← downstream of org.apache.camel:camel-support
- `camel-fory` ← downstream of org.apache.camel:camel-support
- `camel-freemarker` ← downstream of org.apache.camel:camel-management
- `camel-ftp` ← downstream of org.apache.camel:camel-test-junit6
- `camel-ftp-common` ← downstream of org.apache.camel:camel-core-model
- `camel-geocoder` ← downstream of org.apache.camel:camel-support
- `camel-git` ← downstream of org.apache.camel:camel-support
- `camel-github2` ← downstream of org.apache.camel:camel-support
- `camel-google-bigquery` ← downstream of org.apache.camel:camel-support
- `camel-google-calendar` ← downstream of org.apache.camel:camel-support
- `camel-google-common` ← downstream of org.apache.camel:camel-support
- `camel-google-drive` ← downstream of org.apache.camel:camel-support
- `camel-google-firestore` ← downstream of org.apache.camel:camel-support
- `camel-google-functions` ← downstream of org.apache.camel:camel-support
- `camel-google-mail` ← downstream of org.apache.camel:camel-support
- `camel-google-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-google-pubsub` ← downstream of org.apache.camel:camel-support
- `camel-google-secret-manager` ← downstream of org.apache.camel:camel-support
- `camel-google-sheets` ← downstream of org.apache.camel:camel-support
- `camel-google-speech-to-text` ← downstream of org.apache.camel:camel-support
- `camel-google-storage` ← downstream of org.apache.camel:camel-support
- `camel-google-text-to-speech` ← downstream of org.apache.camel:camel-support
- `camel-google-vertexai` ← downstream of org.apache.camel:camel-support
- `camel-google-vision` ← downstream of org.apache.camel:camel-support
- `camel-graphql` ← downstream of org.apache.camel:camel-support
- `camel-grok` ← downstream of org.apache.camel:camel-support
- `camel-groovy` ← downstream of org.apache.camel:camel-support
- `camel-grpc` ← downstream of org.apache.camel:camel-support
- `camel-gson` ← downstream of org.apache.camel:camel-support
- `camel-hashicorp-vault` ← downstream of org.apache.camel:camel-support
- `camel-hazelcast` ← downstream of org.apache.camel:camel-support
- `camel-health` ← downstream of org.apache.camel:camel-support
- `camel-hivemq` ← downstream of org.apache.camel:camel-support
- `camel-hl7` ← downstream of org.apache.camel:camel-core-engine
- `camel-http` ← downstream of org.apache.camel:camel-management
- `camel-http-base` ← downstream of org.apache.camel:camel-support
- `camel-http-common` ← downstream of org.apache.camel:camel-support
- `camel-huawei-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-huaweicloud-common` ← downstream of org.apache.camel:camel-support
- `camel-huaweicloud-dms` ← downstream of org.apache.camel:camel-support
- `camel-huaweicloud-frs` ← downstream of org.apache.camel:camel-support
- `camel-huaweicloud-functiongraph` ← downstream of org.apache.camel:camel-support
- `camel-huaweicloud-iam` ← downstream of org.apache.camel:camel-support
- `camel-huaweicloud-imagerecognition` ← downstream of org.apache.camel:camel-support
- `camel-huaweicloud-obs` ← downstream of org.apache.camel:camel-support
- `camel-huaweicloud-smn` ← downstream of org.apache.camel:camel-support
- `camel-huggingface` ← downstream of org.apache.camel:camel-support
- `camel-ibm-cos` ← downstream of org.apache.camel:camel-support
- `camel-ibm-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-ibm-secrets-manager` ← downstream of org.apache.camel:camel-support
- `camel-ibm-watson-discovery` ← downstream of org.apache.camel:camel-support
- `camel-ibm-watson-language` ← downstream of org.apache.camel:camel-support
- `camel-ibm-watson-speech-to-text` ← downstream of org.apache.camel:camel-support
- `camel-ibm-watson-text-to-speech` ← downstream of org.apache.camel:camel-support
- `camel-ibm-watsonx-ai` ← downstream of org.apache.camel:camel-support
- `camel-ibm-watsonx-data` ← downstream of org.apache.camel:camel-support
- `camel-ical` ← downstream of org.apache.camel:camel-support
- `camel-iggy` ← downstream of org.apache.camel:camel-support
- `camel-ignite` ← downstream of org.apache.camel:camel-support
- `camel-infinispan` ← downstream of org.apache.camel:camel-test-junit6
- `camel-infinispan-common` ← downstream of org.apache.camel:camel-support
- `camel-infinispan-embedded` ← downstream of org.apache.camel:camel-test-junit6
- `camel-infinispan-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-influxdb` ← downstream of org.apache.camel:camel-support
- `camel-influxdb2` ← downstream of org.apache.camel:camel-support
- `camel-iso8583` ← downstream of org.apache.camel:camel-support
- `camel-jackson` ← downstream of org.apache.camel:camel-core-engine
- `camel-jackson-avro` ← downstream of org.apache.camel:camel-support
- `camel-jackson-protobuf` ← downstream of org.apache.camel:camel-support
- `camel-jackson3` ← downstream of org.apache.camel:camel-core-engine
- `camel-jackson3-avro` ← downstream of org.apache.camel:camel-support
- `camel-jackson3-protobuf` ← downstream of org.apache.camel:camel-support
- `camel-jackson3xml` ← downstream of org.apache.camel:camel-support
- `camel-jacksonxml` ← downstream of org.apache.camel:camel-support
- `camel-jactl` ← downstream of org.apache.camel:camel-support
- `camel-jandex` ← downstream of org.apache.camel:camel-support
- `camel-jasypt` ← downstream of org.apache.camel:camel-base
- `camel-java-io` ← downstream of org.apache.camel:camel-core-engine
- `camel-java-joor-dsl` ← downstream of org.apache.camel:camel-main
- `camel-javascript` ← downstream of org.apache.camel:camel-support
- `camel-jaxb` ← downstream of org.apache.camel:camel-test-junit6
- `camel-jbang-console` ← downstream of org.apache.camel:camel-console
- `camel-jbang-mcp` ← downstream of org.apache.camel:camel-catalog
- `camel-jbang-plugin-mcp` ← downstream of org.apache.camel:camel-jbang-core
- `camel-jbang-plugin-tui` ← downstream of org.apache.camel:camel-catalog
- `camel-jbang-plugin-validate` ← downstream of org.apache.camel:camel-jbang-core
- `camel-jcache` ← downstream of org.apache.camel:camel-support
- `camel-jcr` ← downstream of org.apache.camel:camel-support
- `camel-jdbc` ← downstream of org.apache.camel:camel-support
- `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-support
- `camel-jgroups` ← downstream of org.apache.camel:camel-support
- `camel-jgroups-raft` ← downstream of org.apache.camel:camel-support
- `camel-jira` ← downstream of org.apache.camel:camel-support
- `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-support
- `camel-jooq` ← downstream of org.apache.camel:camel-support
- `camel-joor` ← downstream of org.apache.camel:camel-support
- `camel-jpa` ← downstream of org.apache.camel:camel-support
- `camel-jq` ← downstream of org.apache.camel:camel-support
- `camel-jsch` ← downstream of org.apache.camel:camel-test-junit6
- `camel-jslt` ← downstream of org.apache.camel:camel-support
- `camel-json-validator` ← downstream of org.apache.camel:camel-support
- `camel-jsonapi` ← downstream of org.apache.camel:camel-support
- `camel-jsonata` ← downstream of org.apache.camel:camel-support
- `camel-jsonb` ← downstream of org.apache.camel:camel-support
- `camel-jsonpath` ← downstream of org.apache.camel:camel-support
- `camel-jsoup` ← downstream of org.apache.camel:camel-support
- `camel-jt400` ← downstream of org.apache.camel:camel-support
- `camel-jta` ← downstream of org.apache.camel:camel-support
- `camel-jte` ← downstream of org.apache.camel:camel-support
- `camel-kafka` ← downstream of org.apache.camel:camel-support
- `camel-kafka-common` ← downstream of org.apache.camel:camel-support
- `camel-kafka-share` ← downstream of org.apache.camel:camel-support
- `camel-kamelet` ← downstream of org.apache.camel:camel-management
- `camel-kamelet-main-support` ← downstream of org.apache.camel:camel-main
- `camel-keycloak` ← downstream of org.apache.camel:camel-support
- `camel-knative` ← downstream of org.apache.camel:camel-support
- `camel-knative-api` ← downstream of org.apache.camel:camel-support
- `camel-knative-http` ← downstream of org.apache.camel:camel-test-junit6
- `camel-knative-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-kserve` ← downstream of org.apache.camel:camel-support
- `camel-kubernetes` ← downstream of org.apache.camel:camel-support
- `camel-kudu` ← downstream of org.apache.camel:camel-support
- `camel-langchain4j-agent` ← downstream of org.apache.camel:camel-support
- `camel-langchain4j-agent-api` ← downstream of org.apache.camel:camel-core-model
- `camel-langchain4j-chat` ← downstream of org.apache.camel:camel-support
- `camel-langchain4j-core` ← downstream of org.apache.camel:camel-support
- `camel-langchain4j-embeddings` ← downstream of org.apache.camel:camel-support
- `camel-langchain4j-embeddingstore` ← downstream of org.apache.camel:camel-support
- `camel-langchain4j-embeddingstore-api` ← downstream of org.apache.camel:camel-core-model
- `camel-langchain4j-ingest` ← downstream of org.apache.camel:camel-support
- `camel-langchain4j-tokenizer` ← downstream of org.apache.camel:camel-support
- `camel-langchain4j-web-search` ← downstream of org.apache.camel:camel-support
- `camel-language` ← downstream of org.apache.camel:camel-support
- `camel-launcher-container` ← downstream of org.apache.camel:camel-launcher
- `camel-ldap` ← downstream of org.apache.camel:camel-support
- `camel-ldif` ← downstream of org.apache.camel:camel-support
- `camel-log` ← downstream of org.apache.camel:camel-support
- `camel-lra` ← downstream of org.apache.camel:camel-core-engine
- `camel-lucene` ← downstream of org.apache.camel:camel-support
- `camel-lumberjack` ← downstream of org.apache.camel:camel-support
- `camel-lzf` ← downstream of org.apache.camel:camel-support
- `camel-mail` ← downstream of org.apache.camel:camel-support
- `camel-mail-microsoft-oauth` ← downstream of org.apache.camel:camel-core-model
- `camel-main` ← downstream of org.apache.camel:camel-management-api
- `camel-management` ← core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java, core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java, core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteRemoteExchangesTest.java
- `camel-management-api` ← core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java, core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedRouteMBean.java
- `camel-mapstruct` ← downstream of org.apache.camel:camel-support
- `camel-master` ← downstream of org.apache.camel:camel-support
- `camel-maven-plugin` ← downstream of org.apache.camel:camel-core
- `camel-mcp-server` ← downstream of org.apache.camel:camel-platform-http-main
- `camel-mcp-server-api` ← downstream of org.apache.camel:camel-support
- `camel-mdc` ← downstream of org.apache.camel:camel-support
- `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-platform-http-main
- `camel-microprofile-config` ← downstream of org.apache.camel:camel-support
- `camel-microprofile-fault-tolerance` ← downstream of org.apache.camel:camel-management
- `camel-microprofile-health` ← downstream of org.apache.camel:camel-main
- `camel-microprofile-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-milo` ← downstream of org.apache.camel:camel-support
- `camel-milvus` ← downstream of org.apache.camel:camel-support
- `camel-mina` ← downstream of org.apache.camel:camel-support
- `camel-mina-sftp` ← downstream of org.apache.camel:camel-test-junit6
- `camel-minio` ← downstream of org.apache.camel:camel-support
- `camel-mllp` ← downstream of org.apache.camel:camel-support
- `camel-mock` ← downstream of org.apache.camel:camel-support
- `camel-mongodb` ← downstream of org.apache.camel:camel-support
- `camel-mongodb-gridfs` ← downstream of org.apache.camel:camel-support
- `camel-mustache` ← downstream of org.apache.camel:camel-support
- `camel-mvel` ← downstream of org.apache.camel:camel-support
- `camel-mybatis` ← downstream of org.apache.camel:camel-test-junit6
- `camel-nats` ← downstream of org.apache.camel:camel-support
- `camel-neo4j` ← downstream of org.apache.camel:camel-support
- `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-support
- `camel-oauth` ← downstream of org.apache.camel:camel-platform-http-main
- `camel-observability-services` ← downstream of org.apache.camel:camel-management
- `camel-observation` ← downstream of org.apache.camel:camel-support
- `camel-ocsf` ← downstream of org.apache.camel:camel-support
- `camel-odata` ← downstream of org.apache.camel:camel-support
- `camel-ognl` ← downstream of org.apache.camel:camel-support
- `camel-olingo2` ← downstream of org.apache.camel:camel-support
- `camel-olingo2-api` ← downstream of org.apache.camel:camel-test-junit6
- `camel-olingo2-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-olingo4` ← downstream of org.apache.camel:camel-support
- `camel-olingo4-api` ← downstream of org.apache.camel:camel-support
- `camel-olingo4-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-once` ← downstream of org.apache.camel:camel-support
- `camel-opa` ← downstream of org.apache.camel:camel-support
- `camel-openai` ← downstream of org.apache.camel:camel-support
- `camel-openapi-java` ← downstream of org.apache.camel:camel-management
- `camel-openapi-rest-dsl-generator` ← downstream of org.apache.camel:camel-support
- `camel-openapi-validator` ← downstream of org.apache.camel:camel-test-junit6
- `camel-openfeature` ← downstream of org.apache.camel:camel-support
- `camel-openfga` ← downstream of org.apache.camel:camel-support
- `camel-opensearch` ← downstream of org.apache.camel:camel-support
- `camel-openstack` ← downstream of org.apache.camel:camel-support
- `camel-opentelemetry` ← downstream of org.apache.camel:camel-support
- `camel-opentelemetry-metrics` ← downstream of org.apache.camel:camel-support
- `camel-opentelemetry2` ← downstream of org.apache.camel:camel-test-spring-junit6
- `camel-optaplanner` ← downstream of org.apache.camel:camel-support
- `camel-paho` ← downstream of org.apache.camel:camel-support
- `camel-paho-mqtt5` ← downstream of org.apache.camel:camel-support
- `camel-parquet-avro` ← downstream of org.apache.camel:camel-support
- `camel-pdf` ← downstream of org.apache.camel:camel-support
- `camel-pg-replication-slot` ← downstream of org.apache.camel:camel-support
- `camel-pgevent` ← downstream of org.apache.camel:camel-support
- `camel-pgvector` ← downstream of org.apache.camel:camel-support
- `camel-pinecone` ← downstream of org.apache.camel:camel-support
- `camel-platform-http` ← downstream of org.apache.camel:camel-test-junit6
- `camel-platform-http-jolokia` ← downstream of org.apache.camel:camel-support
- `camel-platform-http-main` ← downstream of org.apache.camel:camel-console
- `camel-platform-http-vertx` ← downstream of org.apache.camel:camel-management
- `camel-plc4x` ← downstream of org.apache.camel:camel-support
- `camel-pqc` ← downstream of org.apache.camel:camel-support
- `camel-printer` ← downstream of org.apache.camel:camel-support
- `camel-protobuf` ← downstream of org.apache.camel:camel-support
- `camel-pubnub` ← downstream of org.apache.camel:camel-support
- `camel-pulsar` ← downstream of org.apache.camel:camel-support
- `camel-python` ← downstream of org.apache.camel:camel-support
- `camel-python3` ← downstream of org.apache.camel:camel-support
- `camel-qdrant` ← downstream of org.apache.camel:camel-support
- `camel-quartz` ← downstream of org.apache.camel:camel-management
- `camel-quickfix` ← downstream of org.apache.camel:camel-support
- `camel-quickjs` ← downstream of org.apache.camel:camel-support
- `camel-reactive-streams` ← downstream of org.apache.camel:camel-management
- `camel-reactor` ← downstream of org.apache.camel:camel-support
- `camel-redis` ← downstream of org.apache.camel:camel-support
- `camel-ref` ← downstream of org.apache.camel:camel-support
- `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-support
- `camel-rest` ← downstream of org.apache.camel:camel-support
- `camel-rest-openapi` ← downstream of org.apache.camel:camel-support
- `camel-rest-postman` ← downstream of org.apache.camel:camel-support
- `camel-restdsl-openapi-plugin` ← downstream of org.apache.camel:camel-core-engine
- `camel-robotframework` ← downstream of org.apache.camel:camel-support
- `camel-rocketmq` ← downstream of org.apache.camel:camel-support
- `camel-rss` ← downstream of org.apache.camel:camel-support
- `camel-rxjava` ← downstream of org.apache.camel:camel-support
- `camel-saga` ← downstream of org.apache.camel:camel-support
- `camel-salesforce` ← downstream of org.apache.camel:camel-core-engine
- `camel-salesforce-codegen` ← downstream of org.apache.camel:camel-core-model
- `camel-salesforce-maven-plugin` ← downstream of org.apache.camel:camel-test-junit6
- `camel-salesforce-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-sap-netweaver` ← downstream of org.apache.camel:camel-support
- `camel-saxon` ← downstream of org.apache.camel:camel-test-spring-junit6
- `camel-scheduler` ← downstream of org.apache.camel:camel-support
- `camel-schematron` ← downstream of org.apache.camel:camel-support
- `camel-seda` ← downstream of org.apache.camel:camel-support
- `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-main
- `camel-semantic-wolf-defender` ← downstream of org.apache.camel:camel-support
- `camel-servicenow` ← downstream of org.apache.camel:camel-support
- `camel-servicenow-maven-plugin` ← downstream of org.apache.camel:camel-core-engine
- `camel-servicenow-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-servlet` ← downstream of org.apache.camel:camel-management
- `camel-shell` ← downstream of org.apache.camel:camel-support
- `camel-shiro` ← downstream of org.apache.camel:camel-support
- `camel-sjms` ← downstream of org.apache.camel:camel-support
- `camel-sjms2` ← downstream of org.apache.camel:camel-support
- `camel-slack` ← downstream of org.apache.camel:camel-support
- `camel-smb` ← downstream of org.apache.camel:camel-support
- `camel-smooks` ← downstream of org.apache.camel:camel-support
- `camel-smpp` ← downstream of org.apache.camel:camel-support
- `camel-snakeyaml` ← downstream of org.apache.camel:camel-support
- `camel-snmp` ← downstream of org.apache.camel:camel-support
- `camel-soap` ← downstream of org.apache.camel:camel-support
- `camel-solr` ← downstream of org.apache.camel:camel-support
- `camel-spiffe` ← downstream of org.apache.camel:camel-support
- `camel-splunk-hec` ← downstream of org.apache.camel:camel-support
- `camel-spring` ← downstream of org.apache.camel:camel-management-api
- `camel-spring-ai-chat` ← downstream of org.apache.camel:camel-support
- `camel-spring-ai-embeddings` ← downstream of org.apache.camel:camel-support
- `camel-spring-ai-image` ← downstream of org.apache.camel:camel-support
- `camel-spring-ai-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-spring-ai-vector-store` ← downstream of org.apache.camel:camel-support
- `camel-spring-batch` ← downstream of org.apache.camel:camel-support
- `camel-spring-cloud-config` ← downstream of org.apache.camel:camel-support
- `camel-spring-jdbc` ← downstream of org.apache.camel:camel-test-spring-junit6
- `camel-spring-ldap` ← downstream of org.apache.camel:camel-support
- `camel-spring-main` ← downstream of org.apache.camel:camel-spring
- `camel-spring-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-spring-rabbitmq` ← downstream of org.apache.camel:camel-support
- `camel-spring-redis` ← downstream of org.apache.camel:camel-support
- `camel-spring-security` ← downstream of org.apache.camel:camel-core-engine
- `camel-spring-ws` ← downstream of org.apache.camel:camel-support
- `camel-spring-xml` ← downstream of org.apache.camel:camel-management
- `camel-sql` ← downstream of org.apache.camel:camel-support
- `camel-ssh` ← downstream of org.apache.camel:camel-support
- `camel-state-store` ← downstream of org.apache.camel:camel-support
- `camel-state-store-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-stax` ← downstream of org.apache.camel:camel-support
- `camel-stitch` ← downstream of org.apache.camel:camel-support
- `camel-stream` ← downstream of org.apache.camel:camel-support
- `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-support
- `camel-stub` ← downstream of org.apache.camel:camel-core-model
- `camel-support` ← downstream of org.apache.camel:camel-management-api
- `camel-swift` ← downstream of org.apache.camel:camel-support
- `camel-syslog` ← downstream of org.apache.camel:camel-support
- `camel-tahu` ← downstream of org.apache.camel:camel-support
- `camel-tarfile` ← downstream of org.apache.camel:camel-test-junit6
- `camel-telegram` ← downstream of org.apache.camel:camel-support
- `camel-telemetry` ← downstream of org.apache.camel:camel-support
- `camel-telemetry-dev` ← downstream of org.apache.camel:camel-test-spring-junit6
- `camel-tensorflow-serving` ← downstream of org.apache.camel:camel-support
- `camel-test-citrus` ← downstream of org.apache.camel:camel-support
- `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-cli` ← downstream of org.apache.camel:camel-support
- `camel-test-infra-core` ← downstream of org.apache.camel:camel-core
- `camel-test-infra-smb` ← downstream of org.apache.camel:camel-test-junit6
- `camel-test-junit5` ← downstream of org.apache.camel:camel-management
- `camel-test-junit6` ← downstream of org.apache.camel:camel-management
- `camel-test-main-junit5` ← downstream of org.apache.camel:camel-management
- `camel-test-main-junit6` ← downstream of org.apache.camel:camel-management
- `camel-test-parent` ← downstream of org.apache.camel:camel-core-model
- `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-support
- `camel-thymeleaf` ← downstream of org.apache.camel:camel-management
- `camel-tika` ← downstream of org.apache.camel:camel-support
- `camel-timer` ← downstream of org.apache.camel:camel-support
- `camel-tooling-maven` ← downstream of org.apache.camel:camel-support
- `camel-toon` ← downstream of org.apache.camel:camel-support
- `camel-tracing` ← downstream of org.apache.camel:camel-support
- `camel-twilio` ← downstream of org.apache.camel:camel-support
- `camel-twitter` ← downstream of org.apache.camel:camel-support
- `camel-typesafe-ai` ← downstream of org.apache.camel:camel-support
- `camel-ubl` ← downstream of org.apache.camel:camel-support
- `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-support
- `camel-validator` ← downstream of org.apache.camel:camel-support
- `camel-velocity` ← downstream of org.apache.camel:camel-management
- `camel-vertx` ← downstream of org.apache.camel:camel-support
- `camel-vertx-common` ← downstream of org.apache.camel:camel-support
- `camel-vertx-http` ← downstream of org.apache.camel:camel-test-junit6
- `camel-vertx-parent` ← downstream of org.apache.camel:camel-core-model
- `camel-vertx-websocket` ← downstream of org.apache.camel:camel-support
- `camel-wal` ← downstream of org.apache.camel:camel-support
- `camel-wasm` ← downstream of org.apache.camel:camel-support
- `camel-weather` ← downstream of org.apache.camel:camel-support
- `camel-weaviate` ← downstream of org.apache.camel:camel-support
- `camel-web3j` ← downstream of org.apache.camel:camel-support
- `camel-webhook` ← downstream of org.apache.camel:camel-support
- `camel-whatsapp` ← downstream of org.apache.camel:camel-support
- `camel-wordpress` ← downstream of org.apache.camel:camel-support
- `camel-workday` ← downstream of org.apache.camel:camel-support
- `camel-xchange` ← downstream of org.apache.camel:camel-support
- `camel-xj` ← downstream of org.apache.camel:camel-test-junit6
- `camel-xml-io` ← downstream of org.apache.camel:camel-core-model
- `camel-xml-io-dsl` ← downstream of org.apache.camel:camel-core-engine
- `camel-xml-jaxb` ← downstream of org.apache.camel:camel-support
- `camel-xml-jaxb-dsl` ← downstream of org.apache.camel:camel-main
- `camel-xml-jaxb-dsl-test-definition` ← downstream of org.apache.camel:camel-management
- `camel-xml-jaxb-dsl-test-spring` ← downstream of org.apache.camel:camel-management
- `camel-xml-jaxp` ← downstream of org.apache.camel:camel-support
- `camel-xmlsecurity` ← downstream of org.apache.camel:camel-support
- `camel-xmpp` ← downstream of org.apache.camel:camel-support
- `camel-xpath` ← downstream of org.apache.camel:camel-support
- `camel-xslt` ← downstream of org.apache.camel:camel-support
- `camel-xslt-saxon` ← downstream of org.apache.camel:camel-spring-xml
- `camel-yaml-dsl-common` ← downstream of org.apache.camel:camel-core-engine
- `camel-yaml-dsl-validator` ← downstream of org.apache.camel:camel-catalog
- `camel-yaml-dsl-validator-maven-plugin` ← downstream of org.apache.camel:camel-yaml-dsl-validator
- `camel-yaml-io` ← downstream of org.apache.camel:camel-core-model
- `camel-zendesk` ← downstream of org.apache.camel:camel-support
- `camel-zip-deflater` ← downstream of org.apache.camel:camel-support
- `camel-zipfile` ← downstream of org.apache.camel:camel-support
- `camel-zookeeper` ← downstream of org.apache.camel:camel-management
- `camel-zookeeper-master` ← downstream of org.apache.camel:camel-support
- `components` ← downstream of org.apache.camel:camel-core-model
</details>
<details><summary>Modules with tests skipped (24)</summary>
- `apache-camel`
- `camel-allcomponents`
- `camel-catalog-console`
- `camel-catalog-maven`
- `camel-catalog-suggest`
- `camel-componentdsl`
- `camel-endpointdsl`
- `camel-endpointdsl-support`
- `camel-itest`
- `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`
- `dummy-component`
</details>
> :information_source: Shadow mode — Scalpel observes but does not affect test execution. [Learn more](https://github.com/maveniverse/scalpel)
</details>
:warning: **Some tests are disabled on GitHub Actions** (`@DisabledIfSystemProperty(named = "ci.env.name")`) and require manual verification:
- `dsl/camel-jbang/camel-jbang-core`: 2 test(s) disabled on GitHub Actions
:bulb: **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
> ```
<details><summary>Build reactor — dependencies compiled but only changed modules were tested (6 modules, 1m 24s total)</summary>
**Total reactor time:** 1m 24s
| Module | Duration | Status |
| --- | --- | --- |
| Camel :: Console | 31.0s | SUCCESS |
| Camel :: Catalog :: Camel Catalog | 27.3s | SUCCESS |
| Camel :: Docs | 19.9s | SUCCESS |
| Camel :: Management API | 6.2s | SUCCESS |
| Camel :: JBang :: Core | n/a | |
| Camel :: Management | n/a | |
**Top 20 slowest modules:**
- `Camel :: Console` (31.0s)
- `Camel :: Catalog :: Camel Catalog` (27.3s)
- `Camel :: Docs` (19.9s)
- `Camel :: Management API` (6.2s)
</details>
---
:gear: [View full build and test results](https://github.com/apache/camel/actions/runs/39010272266)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] CAMEL-25716: camel-management - remote exchange counters per route, for camel get processor --remote [camel]
Posted by "davsclaus (via GitHub)" <gi...@apache.org>.
davsclaus commented on code in PR #27996:
URL: https://github.com/apache/camel/pull/27996#discussion_r4301742574
##########
core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java:
##########
@@ -793,6 +801,70 @@ public String dumpRouteSourceLocationsAsXml() throws Exception {
public void reset() {
super.reset();
load.reset();
+ remoteExchangesTotal.reset();
+ remoteExchangesCompleted.reset();
+ remoteExchangesFailed.reset();
+ remoteExchangesInflight.reset();
Review Comment:
Right, done in 8e9d7975cbe9: `reset()` no longer resets `remoteExchangesInflight`, as `ManagedPerformanceCounter` leaves `exchangesInflight`. The context had the same since CAMEL-20879 (`ManagedCamelContext.reset()` reset its `remoteExchangesInflight`), and `camel cmd reset-stats` resets the context and its routes, so under load both went below 0; the context keeps it now too. `testResetKeepsTheRemoteExchangesInflight` holds a remote exchange in a route, resets the route and the context, and checks inflight stays 1 and goes back to 0 (with the old reset: `hold inflight expected: <1> but was: <0>`).
_Claude Code on behalf of davsclaus_
##########
core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedRouteMBean.java:
##########
@@ -209,4 +209,36 @@ String dumpRouteAsYaml(boolean resolvePlaceholders, boolean uriAsParameters, boo
@ManagedAttribute(description = "Whether the consumer connects to remote or local systems")
boolean isRemoteEndpoint();
+ /**
+ * Total number of exchanges the route processed that came from a remote endpoint.
+ *
+ * @since 4.24
+ */
+ @ManagedAttribute(description = "Total number of exchanges processed from remote endpoints only")
+ long getRemoteExchangesTotal();
+
+ /**
+ * Completed (success) number of exchanges the route processed that came from a remote endpoint.
+ *
+ * @since 4.24
+ */
+ @ManagedAttribute(description = "Completed (success) number of exchanges processed from remote endpoints only")
+ long getRemoteExchangesCompleted();
+
+ /**
+ * Failed number of exchanges the route processed that came from a remote endpoint.
+ *
+ * @since 4.24
+ */
+ @ManagedAttribute(description = "Failed number of exchanges processed from remote endpoints only")
+ long getRemoteExchangesFailed();
+
+ /**
+ * Number of exchanges inflight in the route that came from a remote endpoint.
+ *
+ * @since 4.24
+ */
+ @ManagedAttribute(description = "Total number of exchanges inflight from remote endpoints only")
Review Comment:
Done in 8e9d7975cbe9: `Number of inflight exchanges from remote endpoints only`, as `ExchangesInflight` says `Number of inflight exchanges`. The same wording came from `ManagedCamelContextMBean`, which says it now as well.
_Claude Code on behalf of davsclaus_
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] CAMEL-25716: camel-management - remote exchange counters per route, for camel get processor --remote [camel]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #27996:
URL: https://github.com/apache/camel/pull/27996#issuecomment-6230614101
:star2: Thank you for your contribution to the Apache Camel project! :star2:
:robot: CI automation will test this PR automatically.
:camel: 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](https://camel.apache.org/community/team/#committers) have access to the summary.
:warning: Be careful when sharing logs. Review their contents before sharing them publicly.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] CAMEL-25716: camel-management - remote exchange counters per route, for camel get processor --remote [camel]
Posted by "gnodet-bot (via GitHub)" <gi...@apache.org>.
gnodet-bot commented on code in PR #27996:
URL: https://github.com/apache/camel/pull/27996#discussion_r4301729175
##########
core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedRouteMBean.java:
##########
@@ -209,4 +209,36 @@ String dumpRouteAsYaml(boolean resolvePlaceholders, boolean uriAsParameters, boo
@ManagedAttribute(description = "Whether the consumer connects to remote or local systems")
boolean isRemoteEndpoint();
+ /**
+ * Total number of exchanges the route processed that came from a remote endpoint.
+ *
+ * @since 4.24
+ */
+ @ManagedAttribute(description = "Total number of exchanges processed from remote endpoints only")
+ long getRemoteExchangesTotal();
+
+ /**
+ * Completed (success) number of exchanges the route processed that came from a remote endpoint.
+ *
+ * @since 4.24
+ */
+ @ManagedAttribute(description = "Completed (success) number of exchanges processed from remote endpoints only")
+ long getRemoteExchangesCompleted();
+
+ /**
+ * Failed number of exchanges the route processed that came from a remote endpoint.
+ *
+ * @since 4.24
+ */
+ @ManagedAttribute(description = "Failed number of exchanges processed from remote endpoints only")
+ long getRemoteExchangesFailed();
+
+ /**
+ * Number of exchanges inflight in the route that came from a remote endpoint.
+ *
+ * @since 4.24
+ */
+ @ManagedAttribute(description = "Total number of exchanges inflight from remote endpoints only")
Review Comment:
💡 **Misleading description:** The annotation description says `"Total number of exchanges inflight"` but an inflight metric is a gauge (a snapshot of currently in-progress exchanges), not a total/cumulative count. Using "Total" implies accumulation over time, which could confuse monitoring tooling or users reading JMX attributes.
The Javadoc above (line 237) correctly says `"Number of exchanges inflight in the route that came from a remote endpoint"` — consider aligning the `@ManagedAttribute` description with the Javadoc wording:
```suggestion
@ManagedAttribute(description = "Number of exchanges inflight from remote endpoints only")
```
##########
core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java:
##########
@@ -793,6 +801,70 @@ public String dumpRouteSourceLocationsAsXml() throws Exception {
public void reset() {
super.reset();
load.reset();
+ remoteExchangesTotal.reset();
+ remoteExchangesCompleted.reset();
+ remoteExchangesFailed.reset();
+ remoteExchangesInflight.reset();
Review Comment:
⚠️ **Concurrency concern:** `remoteExchangesInflight.reset()` in `reset()` is inconsistent with the parent class `ManagedPerformanceCounter`, which deliberately avoids resetting `exchangesInflight` (commented `// do not reset exchangesInflight`) to prevent negative gauge values when reset is called while exchanges are still in-flight.
If `reset()` is called while remote exchanges are actively being processed, the inflight counter will drop to zero mid-flight and then decrement when those exchanges complete — producing a negative value. The parent class intentionally leaves the inflight gauge alone for exactly this reason.
Consider removing `remoteExchangesInflight.reset()` here to stay consistent with the parent's design.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] CAMEL-25716: camel-management - remote exchange counters per route, for camel get processor --remote [camel]
Posted by "davsclaus (via GitHub)" <gi...@apache.org>.
davsclaus merged PR #27996:
URL: https://github.com/apache/camel/pull/27996
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org