This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 8939f3da5cf9 Deprecate Paho component and disable related flaky test 
on CI (#23187)
8939f3da5cf9 is described below

commit 8939f3da5cf924eb3306d142c4c04dc1386ec044
Author: Aurélien Pupier <[email protected]>
AuthorDate: Tue May 19 07:11:08 2026 +0200

    Deprecate Paho component and disable related flaky test on CI (#23187)
    
    * Deprecate Paho component
    
    there were no new release since 2020 of the Java client, last
    non-regulatory commit was in 2022
    
    Signed-off-by: Aurélien Pupier <[email protected]>
    
    * CAMEL-23484 - disable flaky Paho test on CI as component is now
    deprecated
    
    Signed-off-by: Aurélien Pupier <[email protected]>
    
    ---------
    
    Signed-off-by: Aurélien Pupier <[email protected]>
---
 .../resources/org/apache/camel/catalog/components/paho.json        | 2 +-
 components/camel-paho/pom.xml                                      | 2 +-
 .../resources/META-INF/org/apache/camel/component/paho/paho.json   | 2 +-
 .../META-INF/services/org/apache/camel/component.properties        | 2 +-
 components/camel-paho/src/main/docs/paho-component.adoc            | 5 +++--
 .../main/java/org/apache/camel/component/paho/PahoComponent.java   | 1 +
 .../java/org/apache/camel/component/paho/PahoConfiguration.java    | 1 +
 .../main/java/org/apache/camel/component/paho/PahoConstants.java   | 1 +
 .../main/java/org/apache/camel/component/paho/PahoConsumer.java    | 1 +
 .../main/java/org/apache/camel/component/paho/PahoEndpoint.java    | 1 +
 .../src/main/java/org/apache/camel/component/paho/PahoMessage.java | 1 +
 .../main/java/org/apache/camel/component/paho/PahoPersistence.java | 1 +
 .../main/java/org/apache/camel/component/paho/PahoProducer.java    | 1 +
 .../java/org/apache/camel/component/paho/PahoSendDynamicAware.java | 1 +
 .../java/org/apache/camel/component/paho/PahoManualAcksTest.java   | 3 +++
 .../org/apache/camel/component/paho/PahoOverrideTopicTest.java     | 3 +++
 .../org/apache/camel/component/paho/PahoToDSendDynamicTest.java    | 3 +++
 .../src/test/java/org/apache/camel/component/paho/PahoToDTest.java | 3 +++
 .../modules/ROOT/pages/camel-4x-upgrade-guide-4_21.adoc            | 7 ++++++-
 .../org/apache/camel/builder/endpoint/StaticEndpointBuilders.java  | 2 ++
 .../camel/builder/endpoint/dsl/PahoEndpointBuilderFactory.java     | 3 +++
 21 files changed, 39 insertions(+), 7 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/paho.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/paho.json
index 56f38a7d9a90..2e6dc982d873 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/paho.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/paho.json
@@ -4,7 +4,7 @@
     "name": "paho",
     "title": "Paho",
     "description": "Communicate with MQTT message brokers using Eclipse Paho 
MQTT Client.",
-    "deprecated": false,
+    "deprecated": true,
     "firstVersion": "2.16.0",
     "label": "messaging,iot",
     "javaType": "org.apache.camel.component.paho.PahoComponent",
diff --git a/components/camel-paho/pom.xml b/components/camel-paho/pom.xml
index 2c402aef56d3..fb21d3a15036 100644
--- a/components/camel-paho/pom.xml
+++ b/components/camel-paho/pom.xml
@@ -29,7 +29,7 @@
 
     <artifactId>camel-paho</artifactId>
     <packaging>jar</packaging>
-    <name>Camel :: Paho</name>
+    <name>Camel :: Paho (deprecated)</name>
     <description>Camel Eclipse Paho support</description>
 
     <properties>
diff --git 
a/components/camel-paho/src/generated/resources/META-INF/org/apache/camel/component/paho/paho.json
 
b/components/camel-paho/src/generated/resources/META-INF/org/apache/camel/component/paho/paho.json
index 56f38a7d9a90..2e6dc982d873 100644
--- 
a/components/camel-paho/src/generated/resources/META-INF/org/apache/camel/component/paho/paho.json
+++ 
b/components/camel-paho/src/generated/resources/META-INF/org/apache/camel/component/paho/paho.json
@@ -4,7 +4,7 @@
     "name": "paho",
     "title": "Paho",
     "description": "Communicate with MQTT message brokers using Eclipse Paho 
MQTT Client.",
-    "deprecated": false,
+    "deprecated": true,
     "firstVersion": "2.16.0",
     "label": "messaging,iot",
     "javaType": "org.apache.camel.component.paho.PahoComponent",
diff --git 
a/components/camel-paho/src/generated/resources/META-INF/services/org/apache/camel/component.properties
 
b/components/camel-paho/src/generated/resources/META-INF/services/org/apache/camel/component.properties
index 277a05a8ca3e..a00e3827f5f2 100644
--- 
a/components/camel-paho/src/generated/resources/META-INF/services/org/apache/camel/component.properties
+++ 
b/components/camel-paho/src/generated/resources/META-INF/services/org/apache/camel/component.properties
@@ -3,5 +3,5 @@ components=paho
 groupId=org.apache.camel
 artifactId=camel-paho
 version=4.21.0-SNAPSHOT
-projectName=Camel :: Paho
+projectName=Camel :: Paho (deprecated)
 projectDescription=Camel Eclipse Paho support
diff --git a/components/camel-paho/src/main/docs/paho-component.adoc 
b/components/camel-paho/src/main/docs/paho-component.adoc
index 4de11d1c20ab..b21d646e0de2 100644
--- a/components/camel-paho/src/main/docs/paho-component.adoc
+++ b/components/camel-paho/src/main/docs/paho-component.adoc
@@ -1,10 +1,11 @@
-= Paho Component
+= Paho Component (deprecated)
 :doctitle: Paho
 :shortname: paho
 :artifactid: camel-paho
 :description: Communicate with MQTT message brokers using Eclipse Paho MQTT 
Client.
 :since: 2.16
-:supportlevel: Stable
+:supportlevel: Stable-deprecated
+:deprecated: *deprecated*
 :tabs-sync-option:
 :component-header: Both producer and consumer are supported
 //Manually maintained attributes
diff --git 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoComponent.java
 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoComponent.java
index 4c5eeff6aea1..02674d5e0de6 100644
--- 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoComponent.java
+++ 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoComponent.java
@@ -29,6 +29,7 @@ import org.eclipse.paho.client.mqttv3.MqttClient;
  * Component to integrate with the Eclipse Paho MQTT library.
  */
 @Component("paho")
+@Deprecated(since = "4.21")
 public class PahoComponent extends DefaultComponent {
 
     @Metadata
diff --git 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConfiguration.java
 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConfiguration.java
index be743a609969..92ddea3598a2 100644
--- 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConfiguration.java
+++ 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConfiguration.java
@@ -27,6 +27,7 @@ import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 
 @UriParams
+@Deprecated(since = "4.21")
 public class PahoConfiguration implements Cloneable {
 
     @UriParam
diff --git 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConstants.java
 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConstants.java
index f1641514d6e2..7b4b8fb2585a 100644
--- 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConstants.java
+++ 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConstants.java
@@ -21,6 +21,7 @@ import org.apache.camel.spi.Metadata;
 /**
  * Constants to use when working with Paho component.
  */
+@Deprecated(since = "4.21")
 public final class PahoConstants {
 
     /**
diff --git 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
index 2cfcfe1c526b..4bde73ec28e8 100644
--- 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
+++ 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConsumer.java
@@ -31,6 +31,7 @@ import org.eclipse.paho.client.mqttv3.MqttMessage;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Deprecated(since = "4.21")
 public class PahoConsumer extends DefaultConsumer {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(PahoConsumer.class);
diff --git 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
index 359ae006f5ab..48773c9848a2 100644
--- 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
+++ 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
@@ -41,6 +41,7 @@ import 
org.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence;
  */
 @UriEndpoint(firstVersion = "2.16.0", scheme = "paho", title = "Paho", 
category = { Category.MESSAGING, Category.IOT },
              syntax = "paho:topic", headersClass = PahoConstants.class)
+@Deprecated(since = "4.21")
 public class PahoEndpoint extends DefaultEndpoint implements 
EndpointServiceLocation {
 
     // Configuration members
diff --git 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoMessage.java
 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoMessage.java
index 08ee8970dccc..fd99b33e0ddd 100644
--- 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoMessage.java
+++ 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoMessage.java
@@ -20,6 +20,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.support.DefaultMessage;
 import org.eclipse.paho.client.mqttv3.MqttMessage;
 
+@Deprecated(since = "4.21")
 public class PahoMessage extends DefaultMessage {
 
     private transient MqttMessage mqttMessage;
diff --git 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoPersistence.java
 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoPersistence.java
index 54e7687f5b9b..d1569e4a8ea3 100644
--- 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoPersistence.java
+++ 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoPersistence.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.paho;
 
+@Deprecated(since = "4.21")
 public enum PahoPersistence {
 
     FILE,
diff --git 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoProducer.java
 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoProducer.java
index 22f2cc4397b0..f54fba544f42 100644
--- 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoProducer.java
+++ 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoProducer.java
@@ -28,6 +28,7 @@ import org.eclipse.paho.client.mqttv3.MqttMessage;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Deprecated(since = "4.21")
 public class PahoProducer extends DefaultAsyncProducer {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(PahoProducer.class);
diff --git 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoSendDynamicAware.java
 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoSendDynamicAware.java
index 74e05e20fa19..01c59d06a06b 100644
--- 
a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoSendDynamicAware.java
+++ 
b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoSendDynamicAware.java
@@ -31,6 +31,7 @@ import org.apache.camel.util.StringHelper;
  * endpoint and its producer to service dynamic requests.
  */
 @SendDynamic("paho")
+@Deprecated(since = "4.21")
 public class PahoSendDynamicAware extends ServiceSupport implements 
SendDynamicAware {
 
     private CamelContext camelContext;
diff --git 
a/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoManualAcksTest.java
 
b/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoManualAcksTest.java
index f289cc1971b2..bc57095791be 100644
--- 
a/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoManualAcksTest.java
+++ 
b/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoManualAcksTest.java
@@ -26,8 +26,11 @@ import 
org.apache.camel.test.infra.core.DefaultCamelContextExtension;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Order;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
+@DisabledIfSystemProperty(named = "ci.env.name", matches = ".*",
+                          disabledReason = "Started to be very flaky on CI and 
component is now deprecated")
 public class PahoManualAcksTest extends PahoTestSupport {
     @Order(2)
     @RegisterExtension
diff --git 
a/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoOverrideTopicTest.java
 
b/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoOverrideTopicTest.java
index 903a78716355..afd95f30e47e 100644
--- 
a/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoOverrideTopicTest.java
+++ 
b/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoOverrideTopicTest.java
@@ -25,8 +25,11 @@ import 
org.apache.camel.test.infra.core.DefaultCamelContextExtension;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Order;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
+@DisabledIfSystemProperty(named = "ci.env.name", matches = ".*",
+                          disabledReason = "Started to be very flaky on CI and 
component is now deprecated")
 public class PahoOverrideTopicTest extends PahoTestSupport {
 
     @Order(2)
diff --git 
a/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoToDSendDynamicTest.java
 
b/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoToDSendDynamicTest.java
index e694417e90f3..f246719b27d6 100644
--- 
a/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoToDSendDynamicTest.java
+++ 
b/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoToDSendDynamicTest.java
@@ -24,10 +24,13 @@ import 
org.apache.camel.test.infra.core.DefaultCamelContextExtension;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Order;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
+@DisabledIfSystemProperty(named = "ci.env.name", matches = ".*",
+                          disabledReason = "Started to be very flaky on CI and 
component is now deprecated")
 public class PahoToDSendDynamicTest extends PahoTestSupport {
 
     @Order(2)
diff --git 
a/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoToDTest.java
 
b/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoToDTest.java
index 6d208b1a8483..2db2fdded22e 100644
--- 
a/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoToDTest.java
+++ 
b/components/camel-paho/src/test/java/org/apache/camel/component/paho/PahoToDTest.java
@@ -24,8 +24,11 @@ import 
org.apache.camel.test.infra.core.DefaultCamelContextExtension;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Order;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
+@DisabledIfSystemProperty(named = "ci.env.name", matches = ".*",
+                          disabledReason = "Started to be very flaky on CI and 
component is now deprecated")
 public class PahoToDTest extends PahoTestSupport {
 
     @Order(2)
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_21.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_21.adoc
index d484eda376cb..6025623bfa3a 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_21.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_21.adoc
@@ -18,7 +18,7 @@ See the xref:camel-upgrade-recipes-tool.adoc[documentation] 
page for details.
 The library used for Camel Grok component has been migrated from no more 
maintained `io.krakens:java-grok` to its fork `io.github.whatap:java-grok`.
 It implies small differences listed 
https://github.com/whatap/java-grok#what-is-different-from-iokrakensjava-grok[here].
 
-=== camel-core
+=== camel-coreand camel-paho-mqtt5 are
 
 The `camel-api` module now has an optional dependency on 
`org.jspecify:jspecify` for null safety annotations
 (`@NullMarked`, `@Nullable`). The dependency is `<optional>true</optional>`, 
so it is not pulled transitively
@@ -546,3 +546,8 @@ The component camel-irc is deprecated. The library used had 
no stable release si
 === Deprecation of camel-iec-60870
 
 The component camel-iec-60870 is deprecated. The library used to implement it 
NeoScada is no more maintained since 2021. There are no alternatives in Java 
with compatible license.
+
+=== Deprecation of camel-paho
+
+The components camel-paho is deprecated. There were no new release since 2020 
of the Java client, last non-regulatory commit was in 2022.
+
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index 5dc5608e89dd..a5db916ace59 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -13052,6 +13052,7 @@ public class StaticEndpointBuilders {
      * @param path topic
      * @return the dsl builder
      */
+    @Deprecated
     public static PahoEndpointBuilderFactory.PahoEndpointBuilder paho(String 
path) {
         return paho("paho", path);
     }
@@ -13073,6 +13074,7 @@ public class StaticEndpointBuilders {
      * @param path topic
      * @return the dsl builder
      */
+    @Deprecated
     public static PahoEndpointBuilderFactory.PahoEndpointBuilder paho(String 
componentName, String path) {
         return PahoEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PahoEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PahoEndpointBuilderFactory.java
index a69812ee7707..e0a147c1b5ab 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PahoEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PahoEndpointBuilderFactory.java
@@ -2975,6 +2975,7 @@ public interface PahoEndpointBuilderFactory {
          * 
          * @return the dsl builder for the headers' name.
          */
+        @Deprecated
         default PahoHeaderNameBuilder paho() {
             return PahoHeaderNameBuilder.INSTANCE;
         }
@@ -2994,6 +2995,7 @@ public interface PahoEndpointBuilderFactory {
          * @param path topic
          * @return the dsl builder
          */
+        @Deprecated
         default PahoEndpointBuilder paho(String path) {
             return PahoEndpointBuilderFactory.endpointBuilder("paho", path);
         }
@@ -3015,6 +3017,7 @@ public interface PahoEndpointBuilderFactory {
          * @param path topic
          * @return the dsl builder
          */
+        @Deprecated
         default PahoEndpointBuilder paho(String componentName, String path) {
             return PahoEndpointBuilderFactory.endpointBuilder(componentName, 
path);
         }

Reply via email to