[ 
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)

Reply via email to