[
https://issues.apache.org/jira/browse/CAMEL-25617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Serdar Gökay reassigned CAMEL-25617:
------------------------------------
Assignee: Serdar Gökay
> 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
> Assignee: Serdar Gökay
> Priority: Minor
>
> 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
(v10.3.26#10030026)