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)

Reply via email to