You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by "allthingssecurity (via GitHub)" <gi...@apache.org> on 2026/09/23 12:52:18 UTC
[PR] CAMEL-24942: camel-seda - multicast to all consumers of a queue when multipleConsumers endpoints use different options [camel]
allthingssecurity opened a new pull request, #26784:
URL: https://github.com/apache/camel/pull/26784
# Description
[CAMEL-24942](https://issues.apache.org/jira/browse/CAMEL-24942)
SEDA queues are shared by name, because the URI query is dropped from the queue key. But each distinct endpoint URI is its own `SedaEndpoint`, with its own consumer set and multicast processor, and a consumer thread only multicast a polled message to the consumers of its own endpoint. So with `multipleConsumers=true`, subscribers whose URIs differ in any other option (for example `concurrentConsumers=2` or `pollTimeout=500`) silently competed for the messages instead of each receiving a copy. Before the fix, 10 messages were split 2/8 or 7/3 instead of 10/10.
This change:
- The multicast processor of a `multipleConsumers` endpoint now includes the active consumers of every `multipleConsumers` endpoint that shares the same `QueueReference`. `QueueReference.getEndpoints()` returns a snapshot.
- A consumer that starts, stops, suspends or resumes also updates the multicast processors of the other endpoints of the queue that have consumers. Each endpoint's lock is taken on its own, not nested.
- Consumers on the same endpoint behave as before.
- The SEDA component docs and the 4.23 upgrade guide describe the behaviour.
Tests: new `SedaMultipleConsumersDifferentOptionsTest` (in camel-core). Subscribers on `seda:foo?multipleConsumers=true`, and on the same queue with `concurrentConsumers` / `pollTimeout`, must each receive every message. Without the fix, the new tests fail (`mock://b Received message count. Expected: <20> but was: <15>`, and `<0>` for a consumer added later with other options). With the fix, all `*Seda*` tests pass: 134 tests, 0 failures.
Found with a TLA+ model of SEDA publish/subscribe ("each active consumer receives each message exactly once"), then reproduced against the real classes.
# Target
- [x] I checked that the commit is targeting the correct branch (Camel 4 uses the `main` branch)
# Tracking
- [x] If this is a large change, bug fix, or code improvement, I checked there is a [JIRA issue](https://issues.apache.org/jira/browse/CAMEL) filed for the change (usually before you start working on it).
# Apache Camel coding standards and style
- [x] I checked that each commit in the pull request has a meaningful subject line and body.
- [ ] I have run `mvn clean install -DskipTests` locally from root folder and I have committed all auto-generated changes.
(I built and tested the affected modules, including the formatter and import-sort plugins. I did not run the full root build.)
# AI-assisted contributions
- [x] If this PR includes AI-generated code, commits have proper co-authorship attribution (e.g., `Co-authored-by` trailers) and the PR description identifies the AI tool used.
This PR was prepared with Claude Code (Claude Opus 5.5). The commit carries a `Co-Authored-By` trailer.
--
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-24942: camel-seda - multicast to all consumers of a queue when multipleConsumers endpoints use different options [camel]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #26784:
URL: https://github.com/apache/camel/pull/26784#issuecomment-5811337652
: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-24942: camel-seda - multicast to all consumers of a queue when multipleConsumers endpoints use different options [camel]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #26784:
URL: https://github.com/apache/camel/pull/26784#issuecomment-5811618984
<!-- ci-tested-modules -->
:test_tube: **CI tested the following changed modules:**
- `catalog/camel-catalog`
- `components/camel-seda`
- `core/camel-core`
- `docs`
> :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: 479 of 694 tested, 26 compile-only — current: 483 all tested</summary>
[Maveniverse Scalpel](https://github.com/maveniverse/scalpel) detected **479 affected modules** (current approach: 483).
**Skip-tests mode would test 479 modules** (4 direct + 477 downstream), **skip tests for 26** (generated code, meta-modules)
<details><summary>Modules only in current approach (4)</summary>
- `camel-debug`
- `camel-google-common`
- `camel-jbang-console`
- `camel-test-infra-core`
</details>
<details><summary>Modules Scalpel would test (479)</summary>
- `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-test-infra-artemis
- `camel-activemq6` ← downstream of org.apache.camel:camel-test-infra-artemis
- `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-test-junit6
- `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-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-test-junit6
- `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-core
- `camel-consul` ← downstream of org.apache.camel:camel-test-junit6
- `camel-core` ← core/camel-core/src/test/java/org/apache/camel/component/seda/SedaMultipleConsumersDifferentOptionsTest.java
- `camel-core-all` ← downstream of org.apache.camel:camel-main
- `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-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-test-junit6
- `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-test-spring-junit6
- `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-test-spring-junit6
- `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` ← downstream of org.apache.camel:camel-main
- `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-test-spring-junit6
- `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-stub
- `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-test-spring-junit6
- `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-seda
- `camel-javascript` ← downstream of org.apache.camel:camel-test-junit6
- `camel-jaxb` ← downstream of org.apache.camel:camel-test-junit6
- `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-route-parser` ← downstream of org.apache.camel:camel-route-parser
- `camel-jbang-plugin-tui` ← downstream of org.apache.camel:camel-catalog
- `camel-jbang-plugin-validate` ← downstream of org.apache.camel:camel-yaml-dsl-validator
- `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-main
- `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-spring-xml
- `camel-jmx` ← downstream of org.apache.camel:camel-test-junit6
- `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-kamelet` ← downstream of org.apache.camel:camel-test-junit6
- `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-test-spring-junit6
- `camel-mail-microsoft-oauth` ← downstream of org.apache.camel:camel-mail
- `camel-main` ← downstream of org.apache.camel:camel-seda
- `camel-management` ← downstream of org.apache.camel:camel-core
- `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-test-junit6
- `camel-micrometer` ← downstream of org.apache.camel:camel-test-junit6
- `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-test-junit6
- `camel-microprofile-fault-tolerance` ← downstream of org.apache.camel:camel-test-spring-junit6
- `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-test-junit6
- `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-main
- `camel-netty-http` ← downstream of org.apache.camel:camel-test-spring-junit6
- `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-opentelemetry2
- `camel-observation` ← downstream of org.apache.camel:camel-test-spring-junit6
- `camel-ocsf` ← 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-test-junit6
- `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-test-spring-junit6
- `camel-openapi-validator` ← 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-test-junit6
- `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-cron
- `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-test-junit6
- `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-test-spring-junit6
- `camel-resilience4j-micrometer` ← downstream of org.apache.camel:camel-test-spring-junit6
- `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-servlet
- `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-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-seda` ← components/camel-seda/src/main/docs/seda-component.adoc, components/camel-seda/src/main/java/org/apache/camel/component/seda/QueueReference.java, components/camel-seda/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
- `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-test-junit6
- `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-test-spring-junit6
- `camel-spring-xml` ← downstream of org.apache.camel:camel-test-junit6
- `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-test-junit6
- `camel-stripe` ← downstream of org.apache.camel:camel-test-junit6
- `camel-stub` ← downstream of org.apache.camel:camel-seda
- `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-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-seda
- `camel-test-junit6` ← downstream of org.apache.camel:camel-seda
- `camel-test-main-junit5` ← downstream of org.apache.camel:camel-main
- `camel-test-main-junit6` ← downstream of org.apache.camel:camel-test-junit6
- `camel-test-spring-junit5` ← downstream of org.apache.camel:camel-test-junit5
- `camel-test-spring-junit6` ← downstream of org.apache.camel:camel-test-junit6
- `camel-thrift` ← downstream of org.apache.camel:camel-test-spring-junit6
- `camel-thymeleaf` ← downstream of org.apache.camel:camel-test-spring-junit6
- `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-test-junit6
- `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-test-spring-junit6
- `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-seda
- `camel-xml-jaxb-dsl` ← downstream of org.apache.camel:camel-seda
- `camel-xml-jaxb-dsl-test-definition` ← downstream of org.apache.camel:camel-seda
- `camel-xml-jaxb-dsl-test-spring` ← downstream of org.apache.camel:camel-seda
- `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-catalog
- `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-test-junit6
- `camel-zookeeper-master` ← downstream of org.apache.camel:camel-test-junit6
</details>
<details><summary>Modules with tests skipped (26)</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-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-salesforce-maven-plugin`
- `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:
- `core/camel-core`: 3 test(s) disabled on GitHub Actions
<details><summary>Build reactor — dependencies compiled but only changed modules were tested (4 modules, 52.6s total)</summary>
**Total reactor time:** 52.6s
| Module | Duration | Status |
| --- | --- | --- |
| Camel :: Catalog :: Camel Catalog | 27.0s | SUCCESS |
| Camel :: Docs | 19.5s | SUCCESS |
| Camel :: Seda | 6.1s | SUCCESS |
| Camel :: Core | n/a | |
**Top 20 slowest modules:**
- `Camel :: Catalog :: Camel Catalog` (27.0s)
- `Camel :: Docs` (19.5s)
- `Camel :: Seda` (6.1s)
</details>
---
:gear: [View full build and test results](https://github.com/apache/camel/actions/runs/35971004307)
--
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-24942: camel-seda - multicast to all consumers of a queue when multipleConsumers endpoints use different options [camel]
Posted by "apupier (via GitHub)" <gi...@apache.org>.
apupier commented on PR #26784:
URL: https://github.com/apache/camel/pull/26784#issuecomment-5811868786
conflict to resolve on upgrade guide
--
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-24942: camel-seda - multicast to all consumers of a queue when multipleConsumers endpoints use different options [camel]
Posted by "allthingssecurity (via GitHub)" <gi...@apache.org>.
allthingssecurity commented on PR #26784:
URL: https://github.com/apache/camel/pull/26784#issuecomment-5812338446
@apupier resolved: I rebased onto current `main`, and the upgrade-guide section is now in (roughly) alphabetical position instead of at the end, so it shouldn't collide with the other PRs anymore.
_Claude Code on behalf of allthingssecurity_
--
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-24942: camel-seda - multicast to all consumers of a queue when multipleConsumers endpoints use different options [camel]
Posted by "gnodet-bot (via GitHub)" <gi...@apache.org>.
gnodet-bot commented on code in PR #26784:
URL: https://github.com/apache/camel/pull/26784#discussion_r4082773638
##########
core/camel-core/src/test/java/org/apache/camel/component/seda/SedaMultipleConsumersDifferentOptionsTest.java:
##########
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.seda;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.junit.jupiter.api.Test;
+
+/**
+ * With multipleConsumers=true every consumer of the queue must receive a copy of each message, also when the consumer
+ * endpoints use the same queue name with different uri options.
+ */
+public class SedaMultipleConsumersDifferentOptionsTest extends ContextTestSupport {
+
+ private static final int MESSAGES = 20;
+
+ @Test
+ public void testEachConsumerReceivesEveryMessage() throws Exception {
+ String[] bodies = bodies("Hello");
+ getMockEndpoint("mock:a").expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+ getMockEndpoint("mock:b").expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+ getMockEndpoint("mock:c").expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+
+ for (String body : bodies) {
+ template.sendBody("seda:news", body);
+ }
+
+ assertMockEndpointsSatisfied();
+ }
+
+ @Test
+ public void testStoppedConsumer() throws Exception {
+ context.getRouteController().stopRoute("b");
+
+ String[] bodies = bodies("Bye");
+ getMockEndpoint("mock:a").expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+ getMockEndpoint("mock:b").expectedMessageCount(0);
+ getMockEndpoint("mock:c").expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+
+ for (String body : bodies) {
+ template.sendBody("seda:news", body);
+ }
+
+ assertMockEndpointsSatisfied();
+
+ // and when started again it receives the messages sent from now on as well
+ context.getRouteController().startRoute("b");
+ resetMocks();
+
+ bodies = bodies("Again");
+ getMockEndpoint("mock:a").expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+ getMockEndpoint("mock:b").expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+ getMockEndpoint("mock:c").expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+
+ for (String body : bodies) {
+ template.sendBody("seda:news", body);
+ }
+
+ assertMockEndpointsSatisfied();
+ }
+
+ @Test
+ public void testConsumerAddedWithOtherOptions() throws Exception {
+ context.addRoutes(new RouteBuilder() {
+ @Override
+ public void configure() {
+ from("seda:news?multipleConsumers=true&concurrentConsumers=3").routeId("d").to("mock:d");
+ }
+ });
+
+ String[] bodies = bodies("Hi");
+ for (String name : new String[] { "mock:a", "mock:b", "mock:c", "mock:d" }) {
+ getMockEndpoint(name).expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+ }
+
+ for (String body : bodies) {
+ template.sendBody("seda:news", body);
+ }
+
Review Comment:
💬 **Nit:** `assertMockEndpointsSatisfied()` (the `ContextTestSupport` helper) delegates to exactly this call — the other two test methods in this class use it. Prefer the helper for consistency.
```suggestion
assertMockEndpointsSatisfied();
```
--
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-24942: camel-seda - multicast to all consumers of a queue when multipleConsumers endpoints use different options [camel]
Posted by "allthingssecurity (via GitHub)" <gi...@apache.org>.
allthingssecurity commented on code in PR #26784:
URL: https://github.com/apache/camel/pull/26784#discussion_r4082862868
##########
core/camel-core/src/test/java/org/apache/camel/component/seda/SedaMultipleConsumersDifferentOptionsTest.java:
##########
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.seda;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.junit.jupiter.api.Test;
+
+/**
+ * With multipleConsumers=true every consumer of the queue must receive a copy of each message, also when the consumer
+ * endpoints use the same queue name with different uri options.
+ */
+public class SedaMultipleConsumersDifferentOptionsTest extends ContextTestSupport {
+
+ private static final int MESSAGES = 20;
+
+ @Test
+ public void testEachConsumerReceivesEveryMessage() throws Exception {
+ String[] bodies = bodies("Hello");
+ getMockEndpoint("mock:a").expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+ getMockEndpoint("mock:b").expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+ getMockEndpoint("mock:c").expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+
+ for (String body : bodies) {
+ template.sendBody("seda:news", body);
+ }
+
+ assertMockEndpointsSatisfied();
+ }
+
+ @Test
+ public void testStoppedConsumer() throws Exception {
+ context.getRouteController().stopRoute("b");
+
+ String[] bodies = bodies("Bye");
+ getMockEndpoint("mock:a").expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+ getMockEndpoint("mock:b").expectedMessageCount(0);
+ getMockEndpoint("mock:c").expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+
+ for (String body : bodies) {
+ template.sendBody("seda:news", body);
+ }
+
+ assertMockEndpointsSatisfied();
+
+ // and when started again it receives the messages sent from now on as well
+ context.getRouteController().startRoute("b");
+ resetMocks();
+
+ bodies = bodies("Again");
+ getMockEndpoint("mock:a").expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+ getMockEndpoint("mock:b").expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+ getMockEndpoint("mock:c").expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+
+ for (String body : bodies) {
+ template.sendBody("seda:news", body);
+ }
+
+ assertMockEndpointsSatisfied();
+ }
+
+ @Test
+ public void testConsumerAddedWithOtherOptions() throws Exception {
+ context.addRoutes(new RouteBuilder() {
+ @Override
+ public void configure() {
+ from("seda:news?multipleConsumers=true&concurrentConsumers=3").routeId("d").to("mock:d");
+ }
+ });
+
+ String[] bodies = bodies("Hi");
+ for (String name : new String[] { "mock:a", "mock:b", "mock:c", "mock:d" }) {
+ getMockEndpoint(name).expectedBodiesReceivedInAnyOrder((Object[]) bodies);
+ }
+
+ for (String body : bodies) {
+ template.sendBody("seda:news", body);
+ }
+
Review Comment:
Done in e8a1ae0b, the test now uses `assertMockEndpointsSatisfied()` like the other two methods (and the unused `MockEndpoint` import is gone).
--
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-24942: camel-seda - multicast to all consumers of a queue when multipleConsumers endpoints use different options [camel]
Posted by "apupier (via GitHub)" <gi...@apache.org>.
apupier merged PR #26784:
URL: https://github.com/apache/camel/pull/26784
--
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