Serdar Gökay created CAMEL-25617:
------------------------------------
Summary: camel-plc4x - Upgrade to PLC4X 1.0
Key: CAMEL-25617
URL: https://issues.apache.org/jira/browse/CAMEL-25617
Project: Camel
Issue Type: Dependency upgrade
Reporter: Serdar Gökay
Apache PLC4X 1.0.0 was released on 2026-09-07. camel-plc4x is on 0.13.1
({{plc4x-version}} in {{parent/pom.xml}}). 1.0 is a major release, so the
upgrade is more than a version bump.
h3. What changes for camel-plc4x
# *Scraper removed.* {{plc4j-scraper}} is replaced by the event pump
({{plc4j-tools-event-pump}}). The triggered consumer (the {{trigger}} option)
builds a {{ScraperConfigurationTriggeredImpl}} and runs a
{{TriggeredScraperImpl}}; it needs to be rebuilt on {{EventPump}} /
{{TagBatch}} / {{TriggerConfiguration}}. The event pump README documents the
{{condition}} of a subscription trigger as not yet implemented, so the "trigger
== true" check would stay in the consumer.
# *Java 21 drivers.* PLC4X 1.0 compiles its drivers with release 21; only
{{plc4j-api}} stays on 17. Camel builds with JDK 21 but targets 17, so
camel-plc4x would need Java 21 at runtime.
# *Renamed coordinates and API.* Several artifactIds changed. The
connection-creating methods moved from {{PlcConnectionManager}} to
{{PlcConnectionFactory}}. The SPI classes the test {{MockDriver}} uses
({{PlcSubscriber}}, {{DefaultPlcSubscriptionResponse}}) moved to
{{org.apache.plc4x.java.spi.drivers}}.
# *Connection-string parameters renamed*, e.g. {{request-timeout}} to
{{request-timeout-ms}}, TLS options under {{tls.}}. Old names are no longer
applied and only logged as unknown, so an endpoint URI with an old name keeps
working with the default value.
# *OPC UA driver defaults.* {{security-policy}} now defaults to Basic256Sha256
and the server certificate is verified, so an {{opcua:}} connection without a
certificate that works on 0.13.1 fails on 1.0.
h3. What users gain
* New Java drivers: UMAS (Schneider) and SLMP (Mitsubishi MELSEC).
* Polling-based subscription emulation (cyclic and change-of-state) for drivers
without native subscriptions: Modbus, EtherNet/IP, AB-ETH, SLMP, UMAS.
* A rewritten connection cache that re-subscribes after a lost connection is
re-established.
* Driver fixes, e.g. Modbus RTU framing, an S7 refusal because PUT/GET is
disabled reported as ACCESS_DENIED, the S7 DATE_AND_TIME day of week.
h3. Proposed change
* Upgrade {{plc4x-version}} to 1.0.0 and the renamed artifactIds.
* Port the triggered consumer to the event pump, keeping the {{trigger}} and
{{period}} options and the behaviour covered by CAMEL-25291 and CAMEL-25292.
* Adapt the tests to the 1.0 SPI.
* Upgrade guide notes for the Java 21 requirement, the renamed connection
parameters and the OPC UA security default.
Question before implementing: is a Java 21 runtime requirement for this one
component acceptable on 4.x, or should it wait for a baseline change?
I would like to work on this; could a committer assign it to me (mardonius)?
References: [PLC4X 1.0.0 release
notes|https://github.com/apache/plc4x/blob/v1.0.0/RELEASE_NOTES], [event pump
README|https://github.com/apache/plc4x/blob/v1.0.0/plc4j/tools/event-pump/README.md]
_Claude Code on behalf of etzel-mes_
--
This message was sent by Atlassian Jira
(v8.20.10#820010)