Skip to content

CAMEL-26376: camel-mtconnect - new component to read machine tools through their MTConnect agent - #28631

Merged
davsclaus merged 3 commits into
apache:mainfrom
etzel-mes:feature/CAMEL-26376-mtconnect-component
Oct 29, 2026
Merged

davsclaus merged 3 commits into
apache:mainfrom
etzel-mes:feature/CAMEL-26376-mtconnect-component

Conversation

@etzel-mes

@etzel-mes etzel-mes commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Description

MTConnect (ANSI/MTC1.4-2018) is the open standard machine tool vendors ship for reading their machines: a read-only HTTP agent that answers probe (device model), current (latest values), sample (a range or an open stream of observations) and assets (cutting tools, NC programs) with XML documents. Mazak, Okuma, DMG MORI, Haas, Makino and the Fanuc and Siemens adapters ship or support such an agent; it is the machine tool counterpart of OPC UA, and the two are what a CNC speaks to the outside. Camel has camel-milo for OPC UA and nothing for MTConnect.

Where it sits. A machine tool integration has the machine's agent on one side and the plant's systems on the other: MES or ERP (job and tool status), a broker or unified namespace (MQTT, Kafka), a historian, condition monitoring and OEE. Camel has every component for the second side; this is the missing first side. It turns the agent's protocol into one Camel message per observation with the device, component, data item, units, sequence and quality on the message, so the rest of the route is plain Camel.

Why a component and not a route. We first built it as a route: http + timer + a Groovy script of about 140 lines holding the state machine (probe, current, sample?from=, OUT_OF_RANGE resynchronisation, instanceId re-probe, per-item Bad quality on timeouts). It worked against the same agents and showed why it does not belong in a route: the agent's streaming sample answer is a multipart stream that never ends, and camel-http reads a response as a whole, so a route can only poll, with a round trip per interval per machine; the protocol's correctness lives in details a script hides (the cursor across outages, overrun with HTTP 400 on 2.x agents but 200 on 1.x agents, agent restart, probe metadata on every observation, asset changes a lost event can hide, UNAVAILABLE versus unreachable), which every integration repeats and re-debugs; and a script is invisible to the catalog, the docs, Camel JBang and the MCP tools, while a component declares every option and header.

This PR adds camel-mtconnect (scheme mtconnect), consumer and producer, with no third-party dependency (JDK HTTP client, StAX).

Consumer. Runs the protocol against one agent: probe, current, then the streaming sample request (or one sample request per poll with streaming=false, for agents behind proxies that cut long-lived responses). One message per observation: the value as body (BigDecimal, text, Map for data sets and tables, List<BigDecimal> for time series) and the MTConnect metadata as CamelMTConnect* headers (device, component, data item, category, type, units, sequence, timestamp, quality). It keeps the sequence cursor across outages, resynchronises from current on OUT_OF_RANGE, re-reads the device model when the agent's instanceId changes, reports an unreachable agent once per data item with quality Bad, and refreshes every item after recovery without delivering an observation twice. With assets=true it also delivers the agent's assets and their changes and removals, the body being the asset's own XML.

Producer. operation=probe|current|sample|assets, parameters as options or headers; the device model and asset documents come back as the agent's XML, observations as a list of maps with the consumer's fields; OUT_OF_RANGE and other agent errors fail the exchange with MTConnectErrorException carrying the agent's error codes.

TLS and compression. sslContextParameters and the component's useGlobalSslContextParameters; gzip requested and decoded for document answers (never for the stream).

Tests. 104 tests on CamelTestSupport against an in-process stub agent that speaks the cppagent 2.8 (schema 2.5, multipart/mixed) and the Mazak 1.4/1.6 (schemas 1.3/1.5, vendor namespace, multipart/x-mixed-replace, OUT_OF_RANGE with HTTP 200) dialects, with knobs for pause, refuse, restart, overrun, closed streams, error documents, gzip, TLS with a private authority and asset changes. No Thread.sleep; Awaitility and AssertJ. Fixtures are captures of real agents with identities replaced.

Live runs (not part of the PR, reported here): a cppagent 2.8.0.4, Mazak 1.4.0.12 and Mazak 1.6.0.6 vendor agents and demo.mtconnect.org over https; see the table below.

Check Result
cppagent 2.8.0.4 streaming (heartbeat=2000) 14 data items once as Current; 5 values written through the agent arrived as Sample in order, once each, with the probe metadata; write-to-message latency 14 to 361 ms
cppagent outage through a TCP gate paused 12.9 s, 12 values written meanwhile every item Bad/UNREACHABLE once, 3.9 s after the pause (two heartbeats); 0.25 s after the gate opened the 12 values arrived once and in order, then the 13 untouched items were refreshed once as Current; no duplicate sequence
cppagent overrun (300 writes against a 256 buffer behind the paused gate) Current with CamelMTConnectResync=OUT_OF_RANGE and the latest value 0.22 s after the gate opened; no sequence below the agent's firstSequence
cppagent assets (assets=true) at start the 10 removed tools the agent still held; a tool uploaded, uploaded again and deleted gave AssetChanged/AssetRemoved observations followed by exactly three Asset messages, the last with CamelMTConnectAssetRemoved=true
Mazak 1.4.0.12 streaming 60 s 86 Current (every item once), 414 Sample in strictly ascending order, 0 duplicates, 0 UNREACHABLE/ERROR
Mazak 1.4 polling (streaming=false&delay=1000) 40 s beside a streaming route 86 Current, 243 Sample, every polled sequence also in the stream's set, no duplicate
Mazak 1.6.0.6 polling with assets=true 25 s 113 Current, no error, no asset message (the agent holds none)
Producer on Mazak 1.4 probe 12,896 characters as the agent sends them; current 86 maps with the probe metadata; assets 156 CuttingTool and 72 File, equal to the agent's own answers; sample with count=3 gives 3 maps and NextSequence=from+3; sample with from=1 fails with MTConnectErrorException OUT_OF_RANGE
demo.mtconnect.org over https, default trust streaming 20 s: 244 Current, 1,308 Sample, 0 duplicates, no TLS error; producer assets 66 CuttingTool
Stop during an outage shutdown completed 27 ms after the trigger while the gate was still paused

Design notes a reviewer may ask about.

  • JDK HttpClient rather than camel-http or Vert.x: the streaming sample answer is a multipart stream read part by part while it arrives, the request in flight must be cancellable on stop, and the component needs no dependency; camel-telegram, camel-opa and six other components use the JDK client the same way.
  • The consumer processes exchanges synchronously on its own thread: observations must be delivered in sequence order and the polling consumer returns the number it delivered; camel-milo and camel-plc4x do the same.
  • Device model and asset documents are returned as XML, observations as maps: the observation maps merge the probe's metadata (units, category, component) with each observation, which the XML does not carry; the device model and the assets are trees with vendor extensions, so routes read them with Camel's XML tools instead of a typed model.

Fixes the component lists, catalog copies, docs nav and the component/endpoint DSL factories as the build generates them.

Target

  • I checked that the commit is targeting the correct branch (Camel 4 uses the main branch)

Tracking

  • If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

  • 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.

AI-assisted contributions

  • 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.

The component was written with Claude Code (Claude Opus and Fable models) under the operator's direction and reviewed and verified by the operator against the agents above. JIRA user: mardonius. @davsclaus @oscerd would you have a look?

Claude Code on behalf of etzel-mes

…rough their MTConnect agent

MTConnect is the open standard machine tool vendors ship for reading their machines: a read-only HTTP agent that answers probe, current, sample and assets requests with XML documents. Camel had nothing for it.

The consumer runs the protocol against one agent, probe and current and then the streaming sample request, or one sample request per poll with streaming=false, and delivers one message per observation with the value as the body and the MTConnect metadata as CamelMTConnect* headers. It keeps the sequence cursor across outages, resynchronises from current on OUT_OF_RANGE, re-reads the device model when the agent restarts, reports an unreachable agent once per data item with quality Bad, and with assets=true delivers the agent's assets and their changes. The producer sends probe, current, sample and assets requests on demand. TLS goes through sslContextParameters, document answers are read with gzip. The component uses the JDK HTTP client and StAX and has no third-party dependency.

104 tests run against an in-process stub agent that speaks the cppagent 2.8 and the Mazak 1.4 and 1.6 dialects. The component list, catalog copies, docs navigation and the component and endpoint DSL factories are regenerated.

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

@oscerd oscerd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this — a well-structured new component. It's large (≈11.7k lines, 84 files), so to be upfront about scope: I focused this pass on the security-relevant surfaces and the component structure, not every line of the parsing/consumer logic. A new component of this size deserves a thorough committer review on top of this, and — see the end — it needs CI.

Security surfaces (these are what matter most for a consumer that reads XML from an external agent, since that agent's data is untrusted input):

  • XXE is handled in production. DocumentParser builds its XMLInputFactory with SUPPORT_DTD=false and IS_SUPPORTING_EXTERNAL_ENTITIES=false (plus namespace-aware, coalescing), which is the correct StAX hardening for parsing agent documents. The only DocumentBuilderFactory uses are in the tests, and even those set disallow-doctype-decl — good instinct, though test-controlled input isn't a vector anyway.
  • TLS is done the right way. https agents go through SSLContextParameters (the JSSE utility), falling back to the component's global SSL context and then the runtime default — no trustAllCertificates/all-trusting TrustManager anywhere in production, and the JDK HttpClient verifies host names by default. followRedirects(NEVER) is a nice touch: it avoids an agent (or a MITM on a plain-http agent) bouncing the client to an attacker URL or leaking anything on a redirect.
  • No credential options to mark. There's no username/password/token @UriParam, which fits how MTConnect agents are usually deployed (unauthenticated on an OT network, or client-cert via the SSL context); sslContextParameters is correctly in the security group. If agent auth is ever added, mark those options secret/security= per the component checklist.

Structure looks conventional: it's a direct child of components/ (so no MojoHelper registration needed), the class names follow the MTConnectComponent/Endpoint/Consumer/PollingConsumer/Producer pattern, and the generated catalog, endpoint/component DSL, configurer and URI-factory files plus src/main/docs + the catalog doc mirror are all present and committed.

The one thing that has to happen before this can seriously be considered for merge:

  • CI hasn't run (0 check-runs — fork PR). For a brand-new component especially, the full reactor needs to be green: it's the check that the generated files and catalog actually match the sources, that it builds across the modules it touches (parent, components, the DSLs, camel-main, kamelet-main), and that the 20 test classes pass. Please get a committer to trigger it.

Areas I did not review in depth and would flag for the committer review: the streaming/long-poll path (MultipartReader/AgentProtocol — multipart/x-mixed-replace from the agent, read bounds via ReadDeadline), the consumer's polling/reconnect/backoff behaviour, and the breadth of the observation/asset parsing. The security-sensitive parts above check out; these are correctness surfaces worth a careful human read.

Nice work overall — the hardened parser and the TLS/redirect handling show the right instincts.

Claude Code on behalf of oscerd

@gnodet-bot gnodet-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well-engineered new IoT component with clean architecture, correct protocol state machine, and thorough test coverage (13 test classes, including live-agent fixture data from real cppagent 2.8 and Mazak dialects). No blocking issues; one minor memory-hygiene point and a low-severity hardening note.

Overall:

  • XXE: XMLInputFactory with IS_SUPPORTING_EXTERNAL_ENTITIES=false and SUPPORT_DTD=false — correct
  • SSRF: validate() restricts scheme to http/https, requires a host, and HttpClient.Redirect.NEVER — correct
  • TLS: null SSLContext correctly falls back to JVM default trust store — correct
  • Thread safety: DocumentParser.parse() creates its own XMLStreamReader per call; AssetWriter.copy() creates its own writer per call — both re-entrant; concurrent producer calls are safe
  • MTConnectErrorException.getErrorCodes()/getErrorTexts(): Stream.toList() returns an unmodifiable list since Java 16 — the static analysis flag is a false positive
  • Resource lifecycle: abort → wait → close ordering in both consumers is correct; AgentReader.open() properly cleans up on partial failure; ReadDeadline.Watch is always used in try-with-resources

This review was generated by an AI agent, Hermès on behalf of @gnodet.

@github-actions

Copy link
Copy Markdown
Contributor

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@davsclaus davsclaus left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TL;DR

Verdict: A careful, dependency-free MTConnect component with strong tests. One generated file is missing, which CI's uncommitted-changes check will catch.

Blockers

  • core/camel-util/src/main/java/org/apache/camel/util/ArtifactUtils.java needs the regenerated mtconnect entry.

Other findings: 5 non-blocking (test timing bounds, Awaitility atMost, test logging config, canonical YAML in the docs, two narrow stop races).

Thanks a lot for this contribution, @etzel-mes. The protocol handling is impressively thorough (cursor across outages, OUT_OF_RANGE with both HTTP 200 and 400 dialects, instance-id re-probe, refresh without duplicates), the security surface is handled well (StAX with DTDs and external entities off, http/https only, redirects never followed, TLS through SSLContextParameters), and the stub agent built from real dialect captures makes the tests convincing.

Must fix before merge

Generated ArtifactUtils not committed. The COMPONENTS map in ArtifactUtils.java is regenerated by the update-artifact-helper goal of catalog/camel-catalog, and CI fails on the uncommitted change. Rebuilding catalog/camel-catalog after adding the component should add, right after the mongodb-gridfs entry:

Map.<String, String> entry("mtconnect", "camel-mtconnect"),

The camel-hibernate PR (#27935) shows the same file set plus this one.

Non-blocking

  1. Wall-clock upper bounds in tests. MTConnectOutageTest lines 49 and 83, MTConnectPollingTest line 63 and MTConnectResyncTest line 101 assert detection or recovery within 1.0 to 1.55 s. On busy CI agents (ppc64le, s390x) these can flake, and the functional assertions around them already prove the behaviour. A hint: widen the budgets to a few seconds.
  2. Explicit Awaitility atMost. The project guidelines ask for an explicit atMost; most await() calls rely on the 10 s default. A helper in MTConnectTestSupport, e.g. static ConditionFactory awaitAgent() { return await().atMost(10, TimeUnit.SECONDS); }, would cover them.
  3. Test logging. Most components have a src/test/resources/log4j2.properties writing target/camel-<name>-test.log (see components/camel-clickhouse). Without it only ERROR is logged, so the outage and resync logs would be missing if a timing test flakes.
  4. Docs: canonical YAML. The YAML example at mtconnect-component.adoc:229-238 uses the shorthand (from:, filter: simple:, log: "..."). The docs use the canonical form: - route: from: uri/parameters/steps, filter: expression: simple: expression:, log: message:.
  5. Two narrow stop races (hint). In AgentHttpClient.send (160-168) an InterruptedException from future.get() leaves the request running, so the body may never be closed: catch (InterruptedException e) { future.cancel(true); throw e; }. In AgentReader.send (163-165) a response completed just before abort() is added to open after abort iterated it; closing it when the client is already cancelled would cover that.

On the two bot threads: keeping sentAssets across a restart looks deliberate, since anAgentRestartReadsTheAssetsAgain asserts unchanged assets are not re-sent, so a short reply may be enough. On the part-size thread, readNBytes(int) grows in chunks rather than allocating the declared length up front, so a size cap is optional hardening.


Reviewed with Claude Code on behalf of davsclaus. This review was generated by an AI agent and may contain inaccuracies; please verify all suggestions before applying.

etzel-mes and others added 2 commits October 28, 2026 19:23
…til for the new component

Output of the update-artifact-helper goal of catalog/camel-catalog: the mtconnect entry.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…unds, a test log, canonical YAML docs and two stop races closed

Review follow-ups:
- Every await() goes through awaitAgent(), await().atMost(10 s), as the project guidelines ask.
- The four wall-clock bounds on outage detection and recovery allow a 3 s slack for slow CI agents.
- src/test/resources/log4j2.properties writes target/camel-mtconnect-test.log, as other components do.
- The YAML example uses the canonical route, filter expression and log message form; catalog copy refreshed.
- AgentHttpClient.send cancels the request when the waiting thread is interrupted and closes the body of an answer that arrived meanwhile.
- AgentReader.send closes and fails a response registered after abort() iterated the open set.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@etzel-mes

Copy link
Copy Markdown
Contributor Author

Thanks for the thorough read, @davsclaus. Pushed in 7ff41f6 and 3e1090b:

  • ArtifactUtils regenerated with the update-artifact-helper goal: the mtconnect entry after mongodb-gridfs; the other camel-util and camel-main helper goals produce no change. For the record, the failed build (21) job died before the regen comparison: Maven Central answered 502 for a camel-drill dependency during mvn -Pregen.
  • Wall-clock bounds: the four assertions now allow a 3 s slack (SLACK in MTConnectTestSupport). They still show that detection happens on the heartbeat's scale rather than at the await's limit.
  • Awaitility: every await() goes through awaitAgent(), which is await().atMost(10, SECONDS); the during(...) waits already had their atMost.
  • src/test/resources/log4j2.properties writing target/camel-mtconnect-test.log, as in camel-clickhouse.
  • The YAML example is in canonical form (- route:, filter: expression: simple: expression:, log: message:), catalog copy refreshed.
  • Both stop races closed: AgentHttpClient.send cancels the request when the waiting thread is interrupted and closes the body of an answer that arrived meanwhile; AgentReader.send closes and fails a response that abort() could not see because it was registered after abort() iterated the open set.

The two bot threads are answered inline.

Claude Code on behalf of etzel-mes

@gnodet-bot gnodet-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Following up on my earlier review — all issues have been addressed.

Davsclaus's findings (commits 7ff41f6 + 3e1090b):

  • ✅ ArtifactUtils.java regenerated with the mtconnect entry (alphabetically after mongodb-gridfs)
  • ✅ Wall-clock timing bounds widened: SLACK = 3000 ms in MTConnectTestSupport, applied in MTConnectOutageTest and MTConnectPollingTest
  • ✅ awaitAgent() helper added to MTConnectTestSupport (await().atMost(10, SECONDS)) and applied across all test classes
  • ✅ src/test/resources/log4j2.properties added, writing target/camel-mtconnect-test.log
  • ✅ YAML docs example converted to canonical form (- route:, filter: expression: simple: expression:, log: message:)
  • ✅ AgentHttpClient.send interrupt race: InterruptedException now cancels the in-flight future and closes a body that arrived between the interrupt and the cancel — correct
  • ✅ AgentReader.send abort race: post-registration client.cancelled() check closes and fails a response that abort() could not see — correct

My earlier inline findings:

  • sentAssets not cleared on re-probe: the author's explanation is correct. After re-probe the protocol re-reads all assets via assets(), and sentAssets deduplicates by timestamp/removed version — an unchanged asset across a restart correctly suppresses re-delivery. Not a bug.
  • Content-Length large allocation: the author's explanation is correct. readNBytes reads in 16 KiB chunks regardless of the declared length, so a spoofed Content-Length costs only what the agent actually sends, bounded by the ReadDeadline silence timeout. A per-part cap would be inconsistent with how other paths (no Content-Length, document responses) are bounded.

LGTM on the updated commits.

This review was generated by an AI agent, Hermès on behalf of @gnodet.

@github-actions

Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • bom/camel-bom
  • catalog/camel-allcomponents
  • catalog/camel-catalog
  • components
  • components/camel-mtconnect
  • core/camel-main
  • core/camel-util
  • docs
  • dsl/camel-componentdsl
  • dsl/camel-endpointdsl
  • dsl/camel-kamelet-main
  • parent

ℹ️ 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.


🔬 Scalpel shadow comparison — Scalpel: 587 of 709 tested, 0 compile-only — current: 586 all tested

Maveniverse Scalpel detected 587 affected modules (current approach: 586).

Skip-tests mode would test 587 modules (11 direct + 30 downstream), skip tests for 0 (generated code, meta-modules)

⚠️ Modules only in Scalpel (1)
  • camel-bom
Modules Scalpel would test (587)
  • archetypes ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-a2a ← depends on affected reactor module org.apache.camel:camel-platform-http-vertx
  • camel-activemq ← depends on affected reactor module org.apache.camel:camel-test-infra-artemis
  • camel-activemq6 ← depends on affected reactor module org.apache.camel:camel-test-infra-artemis
  • camel-ai-observability ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ai-observability-api ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ai-parent ← downstream of org.apache.camel:camel-core-model
  • camel-ai-resource ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ai-tool ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-alibaba-common ← depends on affected reactor module org.apache.camel:camel-support
  • camel-alibaba-eventbridge ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-alibaba-fc ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-alibaba-kms ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-alibaba-mns ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-alibaba-oss ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-alibaba-ots ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-alibaba-parent ← downstream of org.apache.camel:camel-core-model
  • camel-alibaba-sls ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-alibaba-sms ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-amqp ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-api ← depends on affected reactor module org.apache.camel:camel-util
  • camel-api-component-maven-plugin ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-arangodb ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-archetype-api-component ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-archetype-component ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-archetype-dataformat ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-archetype-java ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-archetype-main ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-as2 ← depends on affected reactor module org.apache.camel:camel-jetty
  • camel-as2-api ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-as2-parent ← downstream of org.apache.camel:camel-core-model
  • camel-asn1 ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-asterisk ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-atmosphere-websocket ← depends on affected reactor module org.apache.camel:camel-test-infra-jetty
  • camel-atom ← depends on affected reactor module org.apache.camel:camel-test-infra-jetty
  • camel-attachments ← depends on affected reactor module org.apache.camel:camel-bean
  • camel-avro ← depends on affected reactor module org.apache.camel:camel-spring-xml
  • camel-avro-rpc ← depends on affected reactor module org.apache.camel:camel-spring-xml
  • camel-avro-rpc-jetty ← depends on affected reactor module org.apache.camel:camel-api
  • 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 ← depends on affected reactor module org.apache.camel:camel-base64
  • camel-aws-cloudtrail ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws-common ← depends on affected reactor module org.apache.camel:camel-support
  • camel-aws-config ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-aws-parameter-store ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws-parent ← downstream of org.apache.camel:camel-core-model
  • camel-aws-secrets-manager ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws-security-hub ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-athena ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-comprehend ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-cw ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-ddb ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-ec2 ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-ecs ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-eks ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-eventbridge ← depends on affected reactor module org.apache.camel:camel-aws2-sqs
  • camel-aws2-iam ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-kinesis ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-aws2-kms ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-aws2-lambda ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-mq ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-msk ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-polly ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-redshift ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-rekognition ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-s3 ← depends on affected reactor module org.apache.camel:camel-zip-deflater
  • camel-aws2-s3-vectors ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-ses ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-sns ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-sqs ← depends on affected reactor module org.apache.camel:camel-test-dst
  • camel-aws2-step-functions ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-sts ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-aws2-textract ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-timestream ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-transcribe ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-aws2-translate ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-azure-common ← downstream of org.apache.camel:camel-core-model
  • camel-azure-cosmosdb ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-azure-eventgrid ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-azure-eventhubs ← depends on affected reactor module org.apache.camel:camel-test-dst
  • camel-azure-files ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-azure-functions ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-azure-key-vault ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-azure-parent ← downstream of org.apache.camel:camel-core-model
  • camel-azure-schema-registry ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-azure-servicebus ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-azure-storage-blob ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-azure-storage-datalake ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-azure-storage-queue ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-barcode ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-base ← depends on affected reactor module org.apache.camel:camel-util
  • camel-base-engine ← depends on affected reactor module org.apache.camel:camel-util
  • camel-base64 ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-bean ← depends on affected reactor module org.apache.camel:camel-support
  • camel-bean-validator ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-beanio ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-bindy ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-bom ← own pom bom/camel-bom/pom.xml changed
  • camel-bonita ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-box ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-box-api ← depends on affected reactor module org.apache.camel:camel-api
  • camel-box-parent ← downstream of org.apache.camel:camel-core-model
  • camel-braintree ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-browse ← depends on affected reactor module org.apache.camel:camel-support
  • camel-caffeine ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-camunda ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cassandraql ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-catalog-common ← depends on affected reactor module org.apache.camel:camel-support
  • camel-cbor ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-chatscript ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-chunk ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cli-connector ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cli-debug ← depends on affected reactor module org.apache.camel:camel-cli-connector
  • camel-clickhouse ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-clickup ← depends on affected reactor module org.apache.camel:camel-netty-http
  • camel-cloudevents ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cluster ← depends on affected reactor module org.apache.camel:camel-util
  • camel-cm-sms ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-coap ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cometd ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-console ← depends on affected reactor module org.apache.camel:camel-management
  • camel-consul ← depends on affected reactor module org.apache.camel:camel-spring-main
  • camel-controlbus ← depends on affected reactor module org.apache.camel:camel-support
  • camel-core ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-core-all ← depends on affected reactor module org.apache.camel:camel-xml-jaxp
  • camel-core-catalog ← depends on affected reactor module org.apache.camel:camel-util
  • camel-core-engine ← depends on affected reactor module org.apache.camel:camel-util
  • camel-core-languages ← depends on affected reactor module org.apache.camel:camel-util
  • camel-core-model ← depends on affected reactor module org.apache.camel:camel-util
  • camel-core-processor ← depends on affected reactor module org.apache.camel:camel-util
  • camel-core-reifier ← depends on affected reactor module org.apache.camel:camel-util
  • camel-core-xml ← depends on affected reactor module org.apache.camel:camel-core-engine
  • camel-couchbase ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-couchdb ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cron ← depends on affected reactor module org.apache.camel:camel-timer
  • camel-crypto ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-crypto-pgp ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-csv ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-cxf-common ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cxf-parent ← downstream of org.apache.camel:camel-core-model
  • camel-cxf-rest ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-cxf-soap ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-cxf-spring-common ← depends on affected reactor module org.apache.camel:camel-http-base
  • camel-cxf-spring-rest ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-cxf-spring-soap ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-cxf-spring-transport ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cxf-transport ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cyberark-vault ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dapr ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dataformat ← depends on affected reactor module org.apache.camel:camel-support
  • camel-dataset ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-datasonnet ← depends on affected reactor module org.apache.camel:camel-core
  • camel-dataweave ← downstream of org.apache.camel:camel-core-model
  • camel-debezium-common ← depends on affected reactor module org.apache.camel:camel-support
  • camel-debezium-common-parent ← depends on affected reactor module org.apache.camel:camel-support
  • camel-debezium-db2 ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-debezium-maven-plugin ← depends on affected reactor module org.apache.camel:camel-support
  • camel-debezium-mongodb ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-debezium-mysql ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-debezium-oracle ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-debezium-parent ← downstream of org.apache.camel:camel-core-model
  • camel-debezium-postgres ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-debezium-sqlserver ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-debug ← depends on affected reactor module org.apache.camel:camel-xml-io
  • camel-dependencies ← downstream of org.apache.camel:sync-properties-maven-plugin
  • camel-dfdl ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dhis2 ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dhis2-api ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dhis2-parent ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-diagram ← depends on affected reactor module org.apache.camel:camel-management
  • camel-direct ← depends on affected reactor module org.apache.camel:camel-support
  • camel-disruptor ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-djl ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dns ← depends on affected reactor module org.apache.camel:camel-log
  • camel-docker ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-docling ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-drill ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dropbox ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dsl-modeline ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dsl-support ← depends on affected reactor module org.apache.camel:camel-core-model
  • camel-duckdb ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dynamic-router ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-ehcache ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-eip-documentation-enricher-maven-plugin ← depends on affected reactor module org.apache.camel:camel-util
  • camel-elasticsearch ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-elasticsearch-rest-client ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-event ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-exec ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-fastjson ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-fhir ← depends on affected reactor module org.apache.camel:camel-hl7
  • camel-fhir-api ← depends on affected reactor module org.apache.camel:camel-support
  • camel-fhir-parent ← downstream of org.apache.camel:camel-core-model
  • camel-file ← depends on affected reactor module org.apache.camel:camel-core-engine
  • camel-file-watch ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-flatpack ← depends on affected reactor module org.apache.camel:camel-direct
  • camel-flink ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-flowable ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-fop ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-fory ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-freemarker ← depends on affected reactor module org.apache.camel:camel-management
  • camel-ftp ← depends on affected reactor module org.apache.camel:camel-spring-xml
  • camel-ftp-common ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-geocoder ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-git ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-github2 ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-bigquery ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-calendar ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-common ← depends on affected reactor module org.apache.camel:camel-core
  • camel-google-drive ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-firestore ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-functions ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-mail ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-parent ← downstream of org.apache.camel:camel-core-model
  • camel-google-pubsub ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-secret-manager ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-sheets ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-google-speech-to-text ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-storage ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-text-to-speech ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-vertexai ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-vision ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-graphql ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-grok ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-groovy ← depends on affected reactor module org.apache.camel:camel-main
  • camel-grpc ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-gson ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-hashicorp-vault ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-hazelcast ← depends on affected reactor module org.apache.camel:camel-spring-main
  • camel-health ← depends on affected reactor module org.apache.camel:camel-util
  • camel-hibernate ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-hivemq ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-hl7 ← depends on affected reactor module org.apache.camel:camel-core
  • camel-http ← depends on affected reactor module org.apache.camel:camel-test-infra-jetty
  • camel-http-base ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-http-common ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-huawei-parent ← downstream of org.apache.camel:camel-core-model
  • camel-huaweicloud-common ← depends on affected reactor module org.apache.camel:camel-support
  • camel-huaweicloud-dms ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-huaweicloud-frs ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-huaweicloud-functiongraph ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-huaweicloud-iam ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-huaweicloud-imagerecognition ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-huaweicloud-obs ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-huaweicloud-smn ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-huggingface ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ibm-cos ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ibm-parent ← downstream of org.apache.camel:camel-core-model
  • camel-ibm-secrets-manager ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ibm-watson-discovery ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ibm-watson-language ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ibm-watson-speech-to-text ← depends on affected reactor module org.apache.camel:camel-ibm-watson-text-to-speech
  • camel-ibm-watson-text-to-speech ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ibm-watsonx-ai ← depends on affected reactor module org.apache.camel:camel-vertx-websocket
  • camel-ibm-watsonx-data ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ical ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-iggy ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-ignite ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-infinispan ← depends on affected reactor module org.apache.camel:camel-stub
  • camel-infinispan-common ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-infinispan-embedded ← depends on affected reactor module org.apache.camel:camel-log
  • camel-infinispan-parent ← downstream of org.apache.camel:camel-core-model
  • camel-influxdb ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-influxdb2 ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-iso8583 ← depends on affected reactor module org.apache.camel:camel-groovy
  • camel-jackson ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-jackson-avro ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jackson-protobuf ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jackson3 ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-jackson3-avro ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jackson3-protobuf ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jackson3xml ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-jacksonxml ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-jactl ← depends on affected reactor module org.apache.camel:camel-core
  • camel-jandex ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-jasypt ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-java-io ← depends on affected reactor module org.apache.camel:camel-direct
  • camel-java-joor-dsl ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-javascript ← depends on affected reactor module org.apache.camel:camel-core
  • camel-jaxb ← depends on affected reactor module org.apache.camel:camel-spring-xml
  • camel-jbang-console ← depends on affected reactor module org.apache.camel:camel-management
  • camel-jbang-mcp ← depends on affected reactor module org.apache.camel:camel-xml-io-dsl
  • camel-jbang-plugin-mcp ← depends on affected reactor module org.apache.camel:camel-jbang-core
  • camel-jbang-plugin-tui ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jbang-plugin-validate ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jcache ← depends on affected reactor module org.apache.camel:camel-core-languages
  • camel-jcr ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jdbc ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-jetty ← depends on affected reactor module org.apache.camel:camel-main
  • camel-jetty-common ← depends on affected reactor module org.apache.camel:camel-jaxb
  • camel-jfr ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-jgroups ← depends on affected reactor module org.apache.camel:camel-master
  • camel-jgroups-raft ← depends on affected reactor module org.apache.camel:camel-master
  • camel-jira ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jms ← depends on affected reactor module org.apache.camel:camel-test-infra-artemis
  • camel-jmx ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jolt ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jooq ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-joor ← depends on affected reactor module org.apache.camel:camel-core
  • camel-jpa ← effective property camel.surefire.fork.additional-vmargs
  • camel-jq ← depends on affected reactor module org.apache.camel:camel-core
  • camel-jsch ← depends on affected reactor module org.apache.camel:camel-ssh
  • camel-jslt ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-json-validator ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jsonapi ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-jsonata ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jsonb ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-jsonpath ← depends on affected reactor module org.apache.camel:camel-core
  • camel-jsoup ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-jt400 ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jta ← depends on affected reactor module org.apache.camel:camel-sql
  • camel-jte ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-kafka ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-kafka-common ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-kafka-share ← depends on affected reactor module org.apache.camel:camel-test-dst
  • camel-kamelet ← depends on affected reactor module org.apache.camel:camel-main
  • camel-kamelet-main-support ← depends on affected reactor module org.apache.camel:camel-main
  • camel-keycloak ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-knative ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-knative-api ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-knative-http ← depends on affected reactor module org.apache.camel:camel-http
  • camel-knative-parent ← downstream of org.apache.camel:camel-core-model
  • camel-kserve ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-kubernetes ← depends on affected reactor module org.apache.camel:camel-log
  • camel-kudu ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-langchain4j-agent ← depends on affected reactor module org.apache.camel:camel-telemetry
  • camel-langchain4j-agent-api ← depends on affected reactor module org.apache.camel:camel-api
  • camel-langchain4j-chat ← depends on affected reactor module org.apache.camel:camel-telemetry
  • camel-langchain4j-core ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-langchain4j-embeddings ← depends on affected reactor module org.apache.camel:camel-test-infra-qdrant
  • camel-langchain4j-embeddingstore ← depends on affected reactor module org.apache.camel:camel-test-infra-qdrant
  • camel-langchain4j-embeddingstore-api ← depends on affected reactor module org.apache.camel:camel-api
  • camel-langchain4j-ingest ← depends on affected reactor module org.apache.camel:camel-test-infra-qdrant
  • camel-langchain4j-tokenizer ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-langchain4j-web-search ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-language ← depends on affected reactor module org.apache.camel:camel-support
  • camel-launcher-container ← depends on affected reactor module org.apache.camel:camel-launcher
  • camel-ldap ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ldif ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-log ← depends on affected reactor module org.apache.camel:camel-support
  • camel-lra ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-lucene ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-lumberjack ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-lzf ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-mail ← depends on affected reactor module org.apache.camel:camel-quartz
  • camel-mail-microsoft-oauth ← depends on affected reactor module org.apache.camel:camel-mail
  • camel-main ← core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
  • camel-management ← depends on affected reactor module org.apache.camel:camel-core
  • camel-management-api ← depends on affected reactor module org.apache.camel:camel-util
  • camel-mapstruct ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-master ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-maven-plugin ← depends on affected reactor module org.apache.camel:camel-spring-main
  • camel-mcp-server ← depends on affected reactor module org.apache.camel:camel-openai
  • camel-mcp-server-api ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-mdc ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-metrics ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-micrometer ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-micrometer-observability ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-micrometer-prometheus ← depends on affected reactor module org.apache.camel:camel-platform-http-main
  • camel-microprofile-config ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-microprofile-fault-tolerance ← depends on affected reactor module org.apache.camel:camel-management
  • camel-microprofile-health ← depends on affected reactor module org.apache.camel:camel-main
  • camel-microprofile-parent ← downstream of org.apache.camel:camel-core-model
  • camel-milo ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-milvus ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-mina ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-mina-sftp ← depends on affected reactor module org.apache.camel:camel-core-languages
  • camel-minio ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-mllp ← depends on affected reactor module org.apache.camel:camel-test-infra-artemis
  • camel-mock ← depends on affected reactor module org.apache.camel:camel-support
  • camel-mongodb ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-mongodb-gridfs ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-mtconnect ← components/camel-mtconnect/src/generated/java/org/apache/camel/component/mtconnect/MTConnectComponentConfigurer.java, components/camel-mtconnect/src/generated/java/org/apache/camel/component/mtconnect/MTConnectEndpointConfigurer.java, components/camel-mtconnect/src/generated/java/org/apache/camel/component/mtconnect/MTConnectEndpointUriFactory.java, components/camel-mtconnect/src/generated/resources/META-INF/org/apache/camel/component/mtconnect/mtconnect.json, components/camel-mtconnect/src/generated/resources/META-INF/services/org/apache/camel/component.properties, components/camel-mtconnect/src/generated/resources/META-INF/services/org/apache/camel/component/mtconnect, components/camel-mtconnect/src/generated/resources/META-INF/services/org/apache/camel/configurer/mtconnect-component, components/camel-mtconnect/src/generated/resources/META-INF/services/org/apache/camel/configurer/mtconnect-endpoint, components/camel-mtconnect/src/generated/resources/META-INF/services/org/apache/camel/urifactory/mtconnect-endpoint, components/camel-mtconnect/src/main/docs/mtconnect-component.adoc, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/AgentDocument.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/AgentFailure.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/AgentHttpClient.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/AgentProtocol.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/AgentReader.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/AssetMessages.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/AssetWriter.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/DataItem.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/DocumentHeader.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/DocumentParser.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/MTConnectComponent.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/MTConnectConstants.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/MTConnectConsumer.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/MTConnectEndpoint.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/MTConnectErrorException.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/MTConnectOperation.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/MTConnectPollingConsumer.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/MTConnectProducer.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/MultipartReader.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/Observation.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/ObservationMessages.java, components/camel-mtconnect/src/main/java/org/apache/camel/component/mtconnect/ReadDeadline.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/DocumentParserTest.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/MTConnectAssetsTest.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/MTConnectCompressionTest.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/MTConnectLifecycleTest.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/MTConnectMessageShapeTest.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/MTConnectOutageTest.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/MTConnectPollingTest.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/MTConnectProducerAssetsTest.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/MTConnectProducerTest.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/MTConnectResyncTest.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/MTConnectStreamTest.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/MTConnectTestSupport.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/MTConnectTlsTest.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/MultipartReaderTest.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/ReceivedMessages.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/StubAgent.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/StubAssets.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/StubDeviceModel.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/StubDialect.java, components/camel-mtconnect/src/test/java/org/apache/camel/component/mtconnect/StubDocuments.java, components/camel-mtconnect/src/test/resources/agents/v13-assets.xml, components/camel-mtconnect/src/test/resources/agents/v13-probe.xml, components/camel-mtconnect/src/test/resources/agents/v15-probe.xml, components/camel-mtconnect/src/test/resources/agents/v25-probe.xml, components/camel-mtconnect/src/test/resources/agents/v28-assets.xml, components/camel-mtconnect/src/test/resources/log4j2.properties, components/camel-mtconnect/src/test/resources/streams/v13-data.multipart.txt, components/camel-mtconnect/src/test/resources/streams/v15-heartbeat.multipart.txt, components/camel-mtconnect/src/test/resources/streams/v25-heartbeat.multipart.txt, components/camel-mtconnect/src/test/resources/tls/server.p12, components/camel-mtconnect/src/test/resources/tls/truststore.p12, components/camel-mtconnect/src/test/resources/tls/untrusted.p12, own pom components/camel-mtconnect/pom.xml changed
  • camel-mustache ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-mvel ← depends on affected reactor module org.apache.camel:camel-core
  • camel-mybatis ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-nats ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-neo4j ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-netty ← depends on affected reactor module org.apache.camel:camel-main
  • camel-netty-http ← depends on affected reactor module org.apache.camel:camel-jetty
  • camel-oaipmh ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-oauth ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-observability-services ← depends on affected reactor module org.apache.camel:camel-management
  • camel-observation ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-ocsf ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-odata ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ognl ← depends on affected reactor module org.apache.camel:camel-core
  • camel-olingo2 ← depends on affected reactor module org.apache.camel:camel-test-infra-jetty
  • camel-olingo2-api ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-olingo2-parent ← downstream of org.apache.camel:camel-core-model
  • camel-olingo4 ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-olingo4-api ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-olingo4-parent ← downstream of org.apache.camel:camel-core-model
  • camel-once ← depends on affected reactor module org.apache.camel:camel-groovy
  • camel-opa ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-openai ← depends on affected reactor module org.apache.camel:camel-jackson
  • camel-openapi-java ← depends on affected reactor module org.apache.camel:camel-management
  • camel-openapi-rest-dsl-generator ← depends on affected reactor module org.apache.camel:camel-core-engine
  • camel-openapi-validator ← depends on affected reactor module org.apache.camel:camel-platform-http-vertx
  • camel-openfeature ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-openfga ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-opensearch ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-openstack ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-opentelemetry ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-opentelemetry-metrics ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-opentelemetry2 ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-optaplanner ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-paho ← depends on affected reactor module org.apache.camel:camel-test-infra-artemis
  • camel-paho-mqtt5 ← depends on affected reactor module org.apache.camel:camel-test-infra-artemis
  • camel-parquet-avro ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-pdf ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-pg-replication-slot ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-pgevent ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-pgvector ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-pinecone ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-platform-http ← depends on affected reactor module org.apache.camel:camel-http
  • camel-platform-http-jolokia ← depends on affected reactor module org.apache.camel:camel-core
  • camel-platform-http-main ← depends on affected reactor module org.apache.camel:camel-openapi-java
  • camel-platform-http-vertx ← depends on affected reactor module org.apache.camel:camel-vertx-http
  • camel-plc4x ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-pqc ← depends on affected reactor module org.apache.camel:camel-crypto
  • camel-printer ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-protobuf ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-pubnub ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-pulsar ← depends on affected reactor module org.apache.camel:camel-test-dst
  • camel-python ← depends on affected reactor module org.apache.camel:camel-core
  • camel-python3 ← depends on affected reactor module org.apache.camel:camel-core
  • camel-qdrant ← depends on affected reactor module org.apache.camel:camel-test-infra-qdrant
  • camel-quartz ← depends on affected reactor module org.apache.camel:camel-management
  • camel-quickfix ← depends on affected reactor module org.apache.camel:camel-jetty
  • camel-quickjs ← depends on affected reactor module org.apache.camel:camel-core
  • camel-reactive-streams ← depends on affected reactor module org.apache.camel:camel-management
  • camel-reactor ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-redis ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ref ← depends on affected reactor module org.apache.camel:camel-support
  • camel-resilience4j ← depends on affected reactor module org.apache.camel:camel-management
  • camel-resilience4j-micrometer ← depends on affected reactor module org.apache.camel:camel-management
  • camel-resourceresolver-github ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-rest ← depends on affected reactor module org.apache.camel:camel-core-languages
  • camel-rest-openapi ← depends on affected reactor module org.apache.camel:camel-vertx-http
  • camel-rest-postman ← depends on affected reactor module org.apache.camel:camel-vertx-http
  • camel-restdsl-openapi-plugin ← depends on affected reactor module org.apache.camel:camel-jetty
  • camel-robotframework ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-rocketmq ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-rss ← depends on affected reactor module org.apache.camel:camel-test-infra-jetty
  • camel-rxjava ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-saga ← depends on affected reactor module org.apache.camel:camel-support
  • camel-salesforce ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-salesforce-codegen ← depends on affected reactor module org.apache.camel:camel-salesforce
  • camel-salesforce-maven-plugin ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-salesforce-parent ← downstream of org.apache.camel:camel-core-model
  • camel-sap-netweaver ← depends on affected reactor module org.apache.camel:camel-velocity
  • camel-saxon ← depends on affected reactor module org.apache.camel:camel-core
  • camel-scheduler ← depends on affected reactor module org.apache.camel:camel-support
  • camel-schematron ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-seda ← depends on affected reactor module org.apache.camel:camel-support
  • camel-semantic ← depends on affected reactor module org.apache.camel:camel-management
  • camel-semantic-openai ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-semantic-typesafe-ai ← depends on affected reactor module org.apache.camel:camel-xml-io-dsl
  • camel-semantic-wolf-defender ← depends on affected reactor module org.apache.camel:camel-main
  • camel-servicenow ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-servicenow-maven-plugin ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-servicenow-parent ← downstream of org.apache.camel:camel-core-model
  • camel-servlet ← depends on affected reactor module org.apache.camel:camel-gson
  • camel-shell ← depends on affected reactor module org.apache.camel:camel-test-junit5
  • camel-shiro ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-sjms ← depends on affected reactor module org.apache.camel:camel-test-infra-artemis
  • camel-sjms2 ← depends on affected reactor module org.apache.camel:camel-test-infra-artemis
  • camel-slack ← depends on affected reactor module org.apache.camel:camel-test-dst
  • camel-smb ← depends on affected reactor module org.apache.camel:camel-test-infra-smb
  • camel-smooks ← depends on affected reactor module org.apache.camel:camel-attachments
  • camel-smpp ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-snakeyaml ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-snmp ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-soap ← depends on affected reactor module org.apache.camel:camel-cxf-soap
  • camel-solr ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-spiffe ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-splunk-hec ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-spring ← depends on affected reactor module org.apache.camel:camel-cron
  • camel-spring-ai-chat ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-spring-ai-embeddings ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-spring-ai-image ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-spring-ai-parent ← downstream of org.apache.camel:camel-core-model
  • camel-spring-ai-vector-store ← depends on affected reactor module org.apache.camel:camel-test-infra-qdrant
  • camel-spring-batch ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-spring-cloud-config ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-spring-jdbc ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-spring-ldap ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-spring-main ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-spring-parent ← downstream of org.apache.camel:camel-core-model
  • camel-spring-rabbitmq ← depends on affected reactor module org.apache.camel:camel-http
  • camel-spring-redis ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-spring-security ← depends on affected reactor module org.apache.camel:camel-core-xml
  • camel-spring-ws ← depends on affected reactor module org.apache.camel:camel-jaxb
  • camel-spring-xml ← depends on affected reactor module org.apache.camel:camel-cron
  • camel-sql ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-ssh ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-state-store ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-state-store-parent ← downstream of org.apache.camel:camel-core-model
  • camel-stax ← depends on affected reactor module org.apache.camel:camel-jaxb
  • camel-stitch ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-stream ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-streamcaching-test ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-stringtemplate ← depends on affected reactor module org.apache.camel:camel-management
  • camel-stripe ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-stub ← depends on affected reactor module org.apache.camel:camel-core-languages
  • camel-support ← depends on affected reactor module org.apache.camel:camel-util
  • camel-swift ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-syslog ← depends on affected reactor module org.apache.camel:camel-mina
  • camel-tahu ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-tarfile ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-telegram ← depends on affected reactor module org.apache.camel:camel-netty-http
  • camel-telemetry ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-telemetry-dev ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-tensorflow-serving ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-test-citrus ← depends on affected reactor module org.apache.camel:camel-direct
  • camel-test-dst ← depends on affected reactor module org.apache.camel:camel-direct
  • camel-test-infra-all ← depends on affected reactor module org.apache.camel:camel-test-infra-qdrant
  • camel-test-infra-artemis ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-test-infra-cli ← depends on affected reactor module org.apache.camel:camel-support
  • camel-test-infra-core ← depends on affected reactor module org.apache.camel:camel-core
  • camel-test-infra-jetty ← depends on affected reactor module org.apache.camel:camel-util
  • camel-test-infra-qdrant ← depends on affected reactor module org.apache.camel:camel-util
  • camel-test-infra-smb ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-test-junit5 ← depends on affected reactor module org.apache.camel:camel-xml-jaxb
  • camel-test-junit6 ← depends on affected reactor module org.apache.camel:camel-xml-jaxb
  • camel-test-main-junit5 ← depends on affected reactor module org.apache.camel:camel-yaml-io
  • camel-test-main-junit6 ← depends on affected reactor module org.apache.camel:camel-yaml-io
  • camel-test-parent ← downstream of org.apache.camel:camel-core-model
  • camel-test-spring-junit5 ← depends on affected reactor module org.apache.camel:camel-management
  • camel-test-spring-junit6 ← depends on affected reactor module org.apache.camel:camel-management
  • camel-thrift ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-thymeleaf ← depends on affected reactor module org.apache.camel:camel-management
  • camel-tika ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-timer ← depends on affected reactor module org.apache.camel:camel-support
  • camel-tooling-maven ← depends on affected reactor module org.apache.camel:camel-support
  • camel-toon ← depends on affected reactor module org.apache.camel:camel-test-junit5
  • camel-tracing ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-twilio ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-twitter ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-typesafe-ai ← depends on affected reactor module org.apache.camel:camel-xml-io-dsl
  • camel-ubl ← depends on affected reactor module org.apache.camel:camel-test-junit5
  • camel-undertow ← depends on affected reactor module org.apache.camel:camel-openapi-java
  • camel-undertow-spring-security ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-univocity-parsers ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-util ← core/camel-util/src/main/java/org/apache/camel/util/ArtifactUtils.java
  • camel-validator ← depends on affected reactor module org.apache.camel:camel-xml-jaxp
  • camel-velocity ← depends on affected reactor module org.apache.camel:camel-management
  • camel-vertx ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-vertx-common ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-vertx-http ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-vertx-parent ← downstream of org.apache.camel:camel-core-model
  • camel-vertx-websocket ← depends on affected reactor module org.apache.camel:camel-main
  • camel-wal ← depends on affected reactor module org.apache.camel:camel-support
  • camel-wasm ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-weather ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-weaviate ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-web3j ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-webhook ← depends on affected reactor module org.apache.camel:camel-netty-http
  • camel-whatsapp ← depends on affected reactor module org.apache.camel:camel-netty-http
  • camel-wordpress ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-workday ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-xchange ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-xj ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-xml-io ← depends on affected reactor module org.apache.camel:camel-util
  • camel-xml-io-dsl ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-xml-jaxb ← depends on affected reactor module org.apache.camel:camel-core-model
  • camel-xml-jaxb-dsl ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-xml-jaxb-dsl-test-definition ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-xml-jaxb-dsl-test-spring ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-xml-jaxp ← depends on affected reactor module org.apache.camel:camel-util
  • camel-xmlsecurity ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-xmpp ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-xpath ← depends on affected reactor module org.apache.camel:camel-xml-jaxp
  • camel-xslt ← depends on affected reactor module org.apache.camel:camel-xml-jaxp
  • camel-xslt-saxon ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-yaml-dsl-common ← depends on affected reactor module org.apache.camel:camel-core-engine
  • camel-yaml-dsl-validator ← depends on affected reactor module org.apache.camel:camel-xml-io
  • camel-yaml-dsl-validator-maven-plugin ← depends on affected reactor module org.apache.camel:camel-yaml-dsl-validator
  • camel-yaml-io ← depends on affected reactor module org.apache.camel:camel-xml-io
  • camel-zendesk ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-zip-deflater ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-zipfile ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-zookeeper ← depends on affected reactor module org.apache.camel:camel-master
  • camel-zookeeper-master ← depends on affected reactor module org.apache.camel:camel-ftp
  • components ← downstream of org.apache.camel:camel-core-model
  • sync-properties-maven-plugin ← depends on affected reactor module org.apache.camel:camel-util

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

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

  • components: 93 test(s) disabled on GitHub Actions
Build reactor — dependencies compiled but only changed modules were tested (12 modules, 3m 31s total)

Total reactor time: 3m 31s

Module Duration Status
Camel :: Component DSL 55.6s SUCCESS
Camel :: MTConnect 49.5s SUCCESS
Camel :: Main 36.4s SUCCESS
Camel :: Catalog :: Camel Catalog 23.5s SUCCESS
Camel :: Docs 15.1s SUCCESS
Camel :: Kamelet Main 11.2s SUCCESS
Camel :: Util 9.6s SUCCESS
Camel :: All Components Sync point 5.0s SUCCESS
Camel :: Components 3.9s SUCCESS
Camel :: Parent 1.2s SUCCESS
Camel :: BOM 0.1s SUCCESS
Camel :: Endpoint DSL n/a

Top 20 slowest modules:

  • Camel :: Component DSL (55.6s)
  • Camel :: MTConnect (49.5s)
  • Camel :: Main (36.4s)
  • Camel :: Catalog :: Camel Catalog (23.5s)
  • Camel :: Docs (15.1s)
  • Camel :: Kamelet Main (11.2s)
  • Camel :: Util (9.6s)
  • Camel :: All Components Sync point (5.0s)
  • Camel :: Components (3.9s)
  • Camel :: Parent (1.2s)
  • Camel :: BOM (0.1s)

⚙️ View full build and test results

@oscerd oscerd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TL;DR

Comment. The two new commits address the review points, and CI has now built and tested the PR (green on 3e1090b9, including build (21, false)). That was the open point of my earlier review.

Blockers: None

Other findings: none.

Since my last review (deefb7a → 3e1090b)

  • Generated file: ArtifactUtils.java now has the mtconnect entry, in order after mongodb-gridfs.
  • Stop races: both fixes look right to me.
    • In AgentHttpClient.send, an interrupt now cancels the request. If the answer had already arrived, cancel has no effect and the thenAccept closes its body. If it had not, the future completes as cancelled and nothing is left open.
    • In AgentReader.send, the response is registered in open before the volatile cancelled flag is read, and abort() sets that flag before it walks open. Whichever of the two runs second therefore closes the response, and none can stay open.
  • Tests: the wall-clock bounds now carry a SLACK of 3 s, awaitAgent() gives every wait an explicit atMost, and log4j2.properties writes a test log. All of these match the suggestions.
  • Docs: the YAML example uses the canonical form, and the catalog copy of the doc is regenerated.

As I wrote before, a component of this size still deserves a committer's deep review of the streaming and multipart path and of the consumer's reconnect handling, beyond the security and structure checks I did.

This is a rules-and-conventions review. It does not replace static analysis tools.

Reviewed with Claude Code on behalf of oscerd. This review was generated by an AI agent and may contain inaccuracies; please verify all suggestions before applying.

@davsclaus davsclaus left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the changes since my last review: the points I raised are addressed, and CI is green on the current head.

Reviewed with Claude Code on behalf of davsclaus. This review was generated by an AI agent and may contain inaccuracies; please verify all suggestions before applying.

@davsclaus davsclaus added this to the 4.24.0 milestone Oct 29, 2026
@davsclaus davsclaus added the enhancement New feature or request label Oct 29, 2026
@davsclaus
davsclaus merged commit 4b71310 into apache:main Oct 29, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants