You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ap...@apache.org on 2025/11/06 09:17:29 UTC

(camel) 01/02: CAMEL-22578 - Deprecate Camel stomp component

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

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

commit 68df95d3d73feec1c18ae6603338c265e95ade10
Author: Aurélien Pupier <ap...@ibm.com>
AuthorDate: Wed Nov 5 15:12:41 2025 +0100

    CAMEL-22578 - Deprecate Camel stomp component
    
    with artemis 2.43+, the tests are no more passing altogether (but
    passing one by one). So kept a single one during the deprecation phase.
    The stomp protocol and the client implementation didn't had any updates
    in 10 years
    
    Signed-off-by: Aurélien Pupier <ap...@ibm.com>
---
 .../org/apache/camel/catalog/components/stomp.json     |  2 +-
 components/camel-stomp/pom.xml                         |  2 +-
 .../org/apache/camel/component/stomp/stomp.json        |  2 +-
 .../services/org/apache/camel/component.properties     |  2 +-
 .../camel-stomp/src/main/docs/stomp-component.adoc     |  5 +++--
 .../apache/camel/component/stomp/StompComponent.java   |  1 +
 .../camel/component/stomp/StompConfiguration.java      |  1 +
 .../apache/camel/component/stomp/StompConsumer.java    |  1 +
 .../apache/camel/component/stomp/StompEndpoint.java    |  1 +
 .../apache/camel/component/stomp/StompProducer.java    |  1 +
 .../stomp/StompConsumerHeaderFilterStrategyTest.java   |  2 ++
 .../camel/component/stomp/StompConsumerTest.java       |  2 ++
 .../camel/component/stomp/StompConsumerUriTest.java    |  2 ++
 .../camel/component/stomp/StompCustomHeadersTest.java  |  2 ++
 .../component/stomp/StompGlobalSslConsumerTest.java    |  2 ++
 .../camel/component/stomp/StompProducerTest.java       |  2 ++
 .../camel/component/stomp/StompSslConsumerTest.java    |  2 ++
 .../ROOT/pages/camel-4x-upgrade-guide-4_17.adoc        | 18 ++++++++++++++++++
 .../camel/builder/endpoint/StaticEndpointBuilders.java |  2 ++
 .../endpoint/dsl/StompEndpointBuilderFactory.java      |  2 ++
 20 files changed, 48 insertions(+), 6 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/stomp.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/stomp.json
index 95e157e0fce3..87c0d9f33eda 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/stomp.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/stomp.json
@@ -4,7 +4,7 @@
     "name": "stomp",
     "title": "Stomp",
     "description": "Send and receive messages to\/from STOMP (Simple Text Oriented Messaging Protocol) compliant message brokers.",
-    "deprecated": false,
+    "deprecated": true,
     "firstVersion": "2.12.0",
     "label": "messaging",
     "javaType": "org.apache.camel.component.stomp.StompComponent",
diff --git a/components/camel-stomp/pom.xml b/components/camel-stomp/pom.xml
index 76c1ea26a5dd..f36f1e23e625 100644
--- a/components/camel-stomp/pom.xml
+++ b/components/camel-stomp/pom.xml
@@ -29,7 +29,7 @@
 
     <artifactId>camel-stomp</artifactId>
     <packaging>jar</packaging>
-    <name>Camel :: Stomp</name>
+    <name>Camel :: Stomp (Deprecated)</name>
     <description>Camel Stomp client</description>
 
     <properties>
diff --git a/components/camel-stomp/src/generated/resources/META-INF/org/apache/camel/component/stomp/stomp.json b/components/camel-stomp/src/generated/resources/META-INF/org/apache/camel/component/stomp/stomp.json
index 95e157e0fce3..87c0d9f33eda 100644
--- a/components/camel-stomp/src/generated/resources/META-INF/org/apache/camel/component/stomp/stomp.json
+++ b/components/camel-stomp/src/generated/resources/META-INF/org/apache/camel/component/stomp/stomp.json
@@ -4,7 +4,7 @@
     "name": "stomp",
     "title": "Stomp",
     "description": "Send and receive messages to\/from STOMP (Simple Text Oriented Messaging Protocol) compliant message brokers.",
-    "deprecated": false,
+    "deprecated": true,
     "firstVersion": "2.12.0",
     "label": "messaging",
     "javaType": "org.apache.camel.component.stomp.StompComponent",
diff --git a/components/camel-stomp/src/generated/resources/META-INF/services/org/apache/camel/component.properties b/components/camel-stomp/src/generated/resources/META-INF/services/org/apache/camel/component.properties
index 3292fdc74a5f..9604e20bf4b7 100644
--- a/components/camel-stomp/src/generated/resources/META-INF/services/org/apache/camel/component.properties
+++ b/components/camel-stomp/src/generated/resources/META-INF/services/org/apache/camel/component.properties
@@ -3,5 +3,5 @@ components=stomp
 groupId=org.apache.camel
 artifactId=camel-stomp
 version=4.17.0-SNAPSHOT
-projectName=Camel :: Stomp
+projectName=Camel :: Stomp (Deprecated)
 projectDescription=Camel Stomp client
diff --git a/components/camel-stomp/src/main/docs/stomp-component.adoc b/components/camel-stomp/src/main/docs/stomp-component.adoc
index 966eb37d998e..70cec3d079dc 100644
--- a/components/camel-stomp/src/main/docs/stomp-component.adoc
+++ b/components/camel-stomp/src/main/docs/stomp-component.adoc
@@ -1,10 +1,11 @@
-= Stomp Component
+= Stomp Component (deprecated)
 :doctitle: Stomp
 :shortname: stomp
 :artifactid: camel-stomp
 :description: Send and receive messages to/from STOMP (Simple Text Oriented Messaging Protocol) compliant message brokers.
 :since: 2.12
-: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-stomp/src/main/java/org/apache/camel/component/stomp/StompComponent.java b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompComponent.java
index bcd861703b31..b8a478a74a32 100644
--- a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompComponent.java
+++ b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompComponent.java
@@ -26,6 +26,7 @@ import org.apache.camel.support.DefaultHeaderFilterStrategy;
 import org.apache.camel.support.HeaderFilterStrategyComponent;
 
 @Component("stomp")
+@Deprecated(since = "4.17")
 public class StompComponent extends HeaderFilterStrategyComponent implements SSLContextParametersAware {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConfiguration.java b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConfiguration.java
index 05a37e7aab8b..8fb36871de5c 100644
--- a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConfiguration.java
+++ b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConfiguration.java
@@ -25,6 +25,7 @@ import org.apache.camel.spi.UriParams;
 import org.apache.camel.support.jsse.SSLContextParameters;
 
 @UriParams
+@Deprecated(since = "4.17")
 public class StompConfiguration implements Cloneable {
     @UriParam(defaultValue = "tcp://localhost:61613")
     @Metadata(required = true)
diff --git a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConsumer.java b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConsumer.java
index 7dc993bae615..b471b6bcddc5 100644
--- a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConsumer.java
+++ b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConsumer.java
@@ -22,6 +22,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.support.DefaultConsumer;
 import org.fusesource.hawtbuf.AsciiBuffer;
 
+@Deprecated(since = "4.17")
 public class StompConsumer extends DefaultConsumer {
 
     AsciiBuffer id;
diff --git a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompEndpoint.java b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompEndpoint.java
index 5df6d24ee66e..3d5fc7dd607a 100644
--- a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompEndpoint.java
+++ b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompEndpoint.java
@@ -60,6 +60,7 @@ import static org.fusesource.stomp.client.Constants.UNSUBSCRIBE;
  */
 @UriEndpoint(firstVersion = "2.12.0", scheme = "stomp", title = "Stomp", syntax = "stomp:destination",
              category = { Category.MESSAGING })
+@Deprecated(since = "4.17")
 public class StompEndpoint extends DefaultEndpoint
         implements AsyncEndpoint, HeaderFilterStrategyAware, EndpointServiceLocation {
 
diff --git a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompProducer.java b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompProducer.java
index 0a225888b21b..5cc6fcc63dbe 100644
--- a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompProducer.java
+++ b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompProducer.java
@@ -21,6 +21,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.support.DefaultAsyncProducer;
 
+@Deprecated(since = "4.17")
 public class StompProducer extends DefaultAsyncProducer implements Processor {
 
     private final StompEndpoint stompEndpoint;
diff --git a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerHeaderFilterStrategyTest.java b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerHeaderFilterStrategyTest.java
index 1ad97bf1dfdc..a9d7a5ab0b84 100644
--- a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerHeaderFilterStrategyTest.java
+++ b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerHeaderFilterStrategyTest.java
@@ -25,6 +25,7 @@ import org.apache.camel.support.DefaultHeaderFilterStrategy;
 import org.fusesource.stomp.client.BlockingConnection;
 import org.fusesource.stomp.client.Stomp;
 import org.fusesource.stomp.codec.StompFrame;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
 import org.testcontainers.shaded.org.awaitility.Awaitility;
@@ -35,6 +36,7 @@ import static org.fusesource.stomp.client.Constants.MESSAGE_ID;
 import static org.fusesource.stomp.client.Constants.SEND;
 
 @DisabledIfSystemProperty(named = "ci.env.name", matches = ".*", disabledReason = "Flaky on Github CI")
+@Disabled("Starting with Artmis 2.43, test can be played only one by one")
 public class StompConsumerHeaderFilterStrategyTest extends StompBaseTest {
 
     @BindToRegistry("customHeaderFilterStrategy")
diff --git a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerTest.java b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerTest.java
index eff4291eba6d..931830be3cfc 100644
--- a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerTest.java
+++ b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerTest.java
@@ -23,6 +23,7 @@ import org.apache.camel.component.mock.MockEndpoint;
 import org.fusesource.stomp.client.BlockingConnection;
 import org.fusesource.stomp.client.Stomp;
 import org.fusesource.stomp.codec.StompFrame;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 import static org.fusesource.hawtbuf.UTF8Buffer.utf8;
@@ -30,6 +31,7 @@ import static org.fusesource.stomp.client.Constants.DESTINATION;
 import static org.fusesource.stomp.client.Constants.MESSAGE_ID;
 import static org.fusesource.stomp.client.Constants.SEND;
 
+@Disabled("Starting with Artmis 2.43, test can be played only one by one")
 public class StompConsumerTest extends StompBaseTest {
 
     @Test
diff --git a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerUriTest.java b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerUriTest.java
index c9cf1fc63415..a487c0495a47 100644
--- a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerUriTest.java
+++ b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompConsumerUriTest.java
@@ -23,6 +23,7 @@ import org.apache.camel.component.mock.MockEndpoint;
 import org.fusesource.stomp.client.BlockingConnection;
 import org.fusesource.stomp.client.Stomp;
 import org.fusesource.stomp.codec.StompFrame;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 import static org.fusesource.hawtbuf.UTF8Buffer.utf8;
@@ -30,6 +31,7 @@ import static org.fusesource.stomp.client.Constants.DESTINATION;
 import static org.fusesource.stomp.client.Constants.MESSAGE_ID;
 import static org.fusesource.stomp.client.Constants.SEND;
 
+@Disabled("Starting with Artmis 2.43, test can be played only one by one")
 public class StompConsumerUriTest extends StompBaseTest {
 
     @Test
diff --git a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompCustomHeadersTest.java b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompCustomHeadersTest.java
index cdaaec21810f..5d561b4b66a3 100644
--- a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompCustomHeadersTest.java
+++ b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompCustomHeadersTest.java
@@ -20,10 +20,12 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
+@Disabled("Starting with Artmis 2.43, test can be played only one by one")
 public class StompCustomHeadersTest extends StompBaseTest {
 
     @Test
diff --git a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompGlobalSslConsumerTest.java b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompGlobalSslConsumerTest.java
index 54e95f270d31..a064c5da4a08 100644
--- a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompGlobalSslConsumerTest.java
+++ b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompGlobalSslConsumerTest.java
@@ -19,7 +19,9 @@ package org.apache.camel.component.stomp;
 import org.apache.camel.CamelContext;
 import org.apache.camel.SSLContextParametersAware;
 import org.apache.camel.builder.RouteBuilder;
+import org.junit.jupiter.api.Disabled;
 
+@Disabled("Starting with Artmis 2.43, test can be played only one by one")
 public class StompGlobalSslConsumerTest extends StompConsumerTest {
 
     @Override
diff --git a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompProducerTest.java b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompProducerTest.java
index 3588f5eb372d..8d6e00a59bb6 100644
--- a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompProducerTest.java
+++ b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompProducerTest.java
@@ -27,6 +27,7 @@ import org.fusesource.hawtbuf.AsciiBuffer;
 import org.fusesource.stomp.client.BlockingConnection;
 import org.fusesource.stomp.client.Stomp;
 import org.fusesource.stomp.codec.StompFrame;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -37,6 +38,7 @@ import static org.fusesource.stomp.client.Constants.SUBSCRIBE;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
+@Disabled("Starting with Artmis 2.43, test can be played only one by one")
 public class StompProducerTest extends StompBaseTest {
     private static final Logger LOG = LoggerFactory.getLogger(StompProducerTest.class);
 
diff --git a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompSslConsumerTest.java b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompSslConsumerTest.java
index 2a76596b6866..14a26b48c5c4 100644
--- a/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompSslConsumerTest.java
+++ b/components/camel-stomp/src/test/java/org/apache/camel/component/stomp/StompSslConsumerTest.java
@@ -17,7 +17,9 @@
 package org.apache.camel.component.stomp;
 
 import org.apache.camel.builder.RouteBuilder;
+import org.junit.jupiter.api.Disabled;
 
+@Disabled("Starting with Artmis 2.43, test can be played only one by one")
 public class StompSslConsumerTest extends StompConsumerTest {
 
     @Override
diff --git a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_17.adoc b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_17.adoc
new file mode 100644
index 000000000000..03e5dd2ba617
--- /dev/null
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_17.adoc
@@ -0,0 +1,18 @@
+= Apache Camel 4.x Upgrade Guide
+
+This document is for helping you upgrade your Apache Camel application
+from Camel 4.x to 4.y. For example, if you are upgrading Camel 4.0 to 4.2, then you should follow the guides
+from both 4.0 to 4.1 and 4.1 to 4.2.
+
+[NOTE]
+====
+https://github.com/apache/camel-upgrade-recipes/[The Camel Upgrade Recipes project] provides automated assistance for some common migration tasks.
+Note that manual migration is still required.
+See the xref:camel-upgrade-recipes-tool.adoc[documentation] page for details.
+====
+
+== Upgrading Camel 4.16 to 4.17
+
+=== Component deprecation
+
+The component stomp is deprecated. The protocol and the used implementation has not received updates in the last ten years and tests started to fail with Artemis 2.43.
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 280854998f30..ae8887fc493a 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
@@ -14880,6 +14880,7 @@ public class StaticEndpointBuilders {
      * @param path destination
      * @return the dsl builder
      */
+    @Deprecated
     public static StompEndpointBuilderFactory.StompEndpointBuilder stomp(String path) {
         return stomp("stomp", path);
     }
@@ -14902,6 +14903,7 @@ public class StaticEndpointBuilders {
      * @param path destination
      * @return the dsl builder
      */
+    @Deprecated
     public static StompEndpointBuilderFactory.StompEndpointBuilder stomp(String componentName, String path) {
         return StompEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/StompEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/StompEndpointBuilderFactory.java
index aad79e9af38a..35e3f93f0c27 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/StompEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/StompEndpointBuilderFactory.java
@@ -775,6 +775,7 @@ public interface StompEndpointBuilderFactory {
          * @param path destination
          * @return the dsl builder
          */
+        @Deprecated
         default StompEndpointBuilder stomp(String path) {
             return StompEndpointBuilderFactory.endpointBuilder("stomp", path);
         }
@@ -797,6 +798,7 @@ public interface StompEndpointBuilderFactory {
          * @param path destination
          * @return the dsl builder
          */
+        @Deprecated
         default StompEndpointBuilder stomp(String componentName, String path) {
             return StompEndpointBuilderFactory.endpointBuilder(componentName, path);
         }