You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2022/04/04 10:27:09 UTC

[camel-spring-boot] 04/04: CAMEL-17879: remove deprecated component camel-ribbon

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

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git

commit b5bf6bdd2c878c0c91083687aa8e0a8809869c7a
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Mon Apr 4 11:51:22 2022 +0200

    CAMEL-17879: remove deprecated component camel-ribbon
---
 .../camel/springboot/catalog/others.properties     |   1 -
 .../camel-core-starter/src/main/docs/core.json     |  56 +-----
 ...iceCallServiceDiscoveryConfigurationCommon.java |   6 +-
 ...iceCallServiceDiscoveryConfigurationCommon.java |   6 +-
 ...iceCallServiceDiscoveryConfigurationCommon.java |   6 +-
 ...iceCallServiceDiscoveryConfigurationCommon.java |   6 +-
 ...CallServiceLoadBalancerConfigurationCommon.java |  91 ---------
 ...ServiceLoadBalancerConfigurationProperties.java |  50 -----
 components-starter/camel-ribbon-starter/pom.xml    |  61 -------
 .../camel-ribbon-starter/src/main/docs/ribbon.json |   3 -
 .../cloud/RibbonCloudAutoConfiguration.java        | 108 -----------
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/spring.factories   |  18 --
 .../src/main/resources/META-INF/spring.provides    |  17 --
 .../RibbonLoadBalancerAutoConfigurationTest.java   |  63 -------
 .../springboot/cloud/RibbonLoadBalancerTest.java   | 128 -------------
 .../src/test/resources/application.properties      |  18 --
 .../src/test/resources/logback.xml                 |  41 -----
 components-starter/pom.xml                         |   1 -
 ...melCloudServiceCallGlobalConfigurationTest.java |   1 -
 .../CamelCloudServiceCallRefExpressionTest.java    |   1 -
 .../CamelCloudServiceCallSimpleExpressionTest.java |   1 -
 .../boot/cloud/CamelCloudServiceCallTest.java      |   1 -
 .../camel/itest/springboot/CamelRibbonTest.java    |  48 -----
 tooling/camel-spring-boot-bom/pom.xml              |   5 -
 tooling/camel-spring-boot-dependencies/pom.xml     |  10 -
 .../maven/SpringBootAutoConfigurationMojo.java     |  12 --
 28 files changed, 16 insertions(+), 957 deletions(-)

diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/others.properties b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/others.properties
index 689b165d1ae..d8936473187 100644
--- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/others.properties
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/others.properties
@@ -18,7 +18,6 @@ opentelemetry
 opentracing
 reactor
 resilience4j
-ribbon
 rxjava
 shiro
 spring-security
diff --git a/components-starter/camel-core-starter/src/main/docs/core.json b/components-starter/camel-core-starter/src/main/docs/core.json
index 04f3cfc5a6e..9fb26a46292 100644
--- a/components-starter/camel-core-starter/src/main/docs/core.json
+++ b/components-starter/camel-core-starter/src/main/docs/core.json
@@ -20,11 +20,6 @@
       "type": "org.apache.camel.model.cloud.springboot.KubernetesServiceCallServiceDiscoveryConfigurationProperties",
       "sourceType": "org.apache.camel.model.cloud.springboot.KubernetesServiceCallServiceDiscoveryConfigurationProperties"
     },
-    {
-      "name": "camel.cloud.ribbon.load-balancer",
-      "type": "org.apache.camel.model.cloud.springboot.RibbonServiceCallServiceLoadBalancerConfigurationProperties",
-      "sourceType": "org.apache.camel.model.cloud.springboot.RibbonServiceCallServiceLoadBalancerConfigurationProperties"
-    },
     {
       "name": "camel.hystrix",
       "type": "org.apache.camel.model.springboot.HystrixConfigurationDefinitionProperties",
@@ -177,7 +172,7 @@
     {
       "name": "camel.cloud.consul.service-discovery.properties",
       "type": "java.util.Map<java.lang.String,java.lang.String>",
-      "description": "Set client properties to use. These properties are specific to what service call implementation are in use. For example if using ribbon, then the client properties are define in com.netflix.client.config.CommonClientConfigKey.",
+      "description": "Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",
       "sourceType": "org.apache.camel.model.cloud.springboot.ConsulServiceCallServiceDiscoveryConfigurationProperties"
     },
     {
@@ -226,7 +221,7 @@
     {
       "name": "camel.cloud.dns.service-discovery.properties",
       "type": "java.util.Map<java.lang.String,java.lang.String>",
-      "description": "Set client properties to use. These properties are specific to what service call implementation are in use. For example if using ribbon, then the client properties are define in com.netflix.client.config.CommonClientConfigKey.",
+      "description": "Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",
       "sourceType": "org.apache.camel.model.cloud.springboot.DnsServiceCallServiceDiscoveryConfigurationProperties"
     },
     {
@@ -258,7 +253,7 @@
     {
       "name": "camel.cloud.etcd.service-discovery.properties",
       "type": "java.util.Map<java.lang.String,java.lang.String>",
-      "description": "Set client properties to use. These properties are specific to what service call implementation are in use. For example if using ribbon, then the client properties are define in com.netflix.client.config.CommonClientConfigKey.",
+      "description": "Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",
       "sourceType": "org.apache.camel.model.cloud.springboot.EtcdServiceCallServiceDiscoveryConfigurationProperties"
     },
     {
@@ -412,7 +407,7 @@
     {
       "name": "camel.cloud.kubernetes.service-discovery.properties",
       "type": "java.util.Map<java.lang.String,java.lang.String>",
-      "description": "Set client properties to use. These properties are specific to what service call implementation are in use. For example if using ribbon, then the client properties are define in com.netflix.client.config.CommonClientConfigKey.",
+      "description": "Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",
       "sourceType": "org.apache.camel.model.cloud.springboot.KubernetesServiceCallServiceDiscoveryConfigurationProperties"
     },
     {
@@ -428,49 +423,6 @@
       "description": "Sets the username for authentication when using client lookup",
       "sourceType": "org.apache.camel.model.cloud.springboot.KubernetesServiceCallServiceDiscoveryConfigurationProperties"
     },
-    {
-      "name": "camel.cloud.ribbon.load-balancer.client-name",
-      "type": "java.lang.String",
-      "description": "Sets the Ribbon client name",
-      "sourceType": "org.apache.camel.model.cloud.springboot.RibbonServiceCallServiceLoadBalancerConfigurationProperties"
-    },
-    {
-      "name": "camel.cloud.ribbon.load-balancer.configurations",
-      "type": "java.util.Map<java.lang.String,org.apache.camel.model.cloud.springboot.RibbonServiceCallServiceLoadBalancerConfigurationCommon>",
-      "description": "Define additional configuration definitions",
-      "sourceType": "org.apache.camel.model.cloud.springboot.RibbonServiceCallServiceLoadBalancerConfigurationProperties"
-    },
-    {
-      "name": "camel.cloud.ribbon.load-balancer.enabled",
-      "type": "java.lang.Boolean",
-      "description": "Enable the component",
-      "sourceType": "org.apache.camel.model.cloud.springboot.RibbonServiceCallServiceLoadBalancerConfigurationProperties",
-      "defaultValue": true
-    },
-    {
-      "name": "camel.cloud.ribbon.load-balancer.namespace",
-      "type": "java.lang.String",
-      "description": "The namespace",
-      "sourceType": "org.apache.camel.model.cloud.springboot.RibbonServiceCallServiceLoadBalancerConfigurationProperties"
-    },
-    {
-      "name": "camel.cloud.ribbon.load-balancer.password",
-      "type": "java.lang.String",
-      "description": "The password",
-      "sourceType": "org.apache.camel.model.cloud.springboot.RibbonServiceCallServiceLoadBalancerConfigurationProperties"
-    },
-    {
-      "name": "camel.cloud.ribbon.load-balancer.properties",
-      "type": "java.util.Map<java.lang.String,java.lang.String>",
-      "description": "Set client properties to use. These properties are specific to what service call implementation are in use. For example if using ribbon, then the client properties are define in com.netflix.client.config.CommonClientConfigKey.",
-      "sourceType": "org.apache.camel.model.cloud.springboot.RibbonServiceCallServiceLoadBalancerConfigurationProperties"
-    },
-    {
-      "name": "camel.cloud.ribbon.load-balancer.username",
-      "type": "java.lang.String",
-      "description": "The username",
-      "sourceType": "org.apache.camel.model.cloud.springboot.RibbonServiceCallServiceLoadBalancerConfigurationProperties"
-    },
     {
       "name": "camel.hystrix.allow-maximum-size-to-diverge-from-core-size",
       "type": "java.lang.Boolean",
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/ConsulServiceCallServiceDiscoveryConfigurationCommon.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/ConsulServiceCallServiceDiscoveryConfigurationCommon.java
index c3b57a60f2a..ada61dc4744 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/ConsulServiceCallServiceDiscoveryConfigurationCommon.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/ConsulServiceCallServiceDiscoveryConfigurationCommon.java
@@ -63,9 +63,9 @@ public class ConsulServiceCallServiceDiscoveryConfigurationCommon {
     private Integer blockSeconds = 10;
     /**
      * Set client properties to use. These properties are specific to what
-     * service call implementation are in use. For example if using ribbon, then
-     * the client properties are define in
-     * com.netflix.client.config.CommonClientConfigKey.
+     * service call implementation are in use. For example if using a different
+     * one, then the client properties are defined according to the specific
+     * service in use.
      */
     private Map<String, String> properties;
 
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/DnsServiceCallServiceDiscoveryConfigurationCommon.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/DnsServiceCallServiceDiscoveryConfigurationCommon.java
index 6c1d2d85f11..eb95e506866 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/DnsServiceCallServiceDiscoveryConfigurationCommon.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/DnsServiceCallServiceDiscoveryConfigurationCommon.java
@@ -35,9 +35,9 @@ public class DnsServiceCallServiceDiscoveryConfigurationCommon {
     private String domain;
     /**
      * Set client properties to use. These properties are specific to what
-     * service call implementation are in use. For example if using ribbon, then
-     * the client properties are define in
-     * com.netflix.client.config.CommonClientConfigKey.
+     * service call implementation are in use. For example if using a different
+     * one, then the client properties are defined according to the specific
+     * service in use.
      */
     private Map<String, String> properties;
 
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/EtcdServiceCallServiceDiscoveryConfigurationCommon.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/EtcdServiceCallServiceDiscoveryConfigurationCommon.java
index 18424fb0bef..7d062c2796c 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/EtcdServiceCallServiceDiscoveryConfigurationCommon.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/EtcdServiceCallServiceDiscoveryConfigurationCommon.java
@@ -51,9 +51,9 @@ public class EtcdServiceCallServiceDiscoveryConfigurationCommon {
     private String type = "on-demand";
     /**
      * Set client properties to use. These properties are specific to what
-     * service call implementation are in use. For example if using ribbon, then
-     * the client properties are define in
-     * com.netflix.client.config.CommonClientConfigKey.
+     * service call implementation are in use. For example if using a different
+     * one, then the client properties are defined according to the specific
+     * service in use.
      */
     private Map<String, String> properties;
 
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/KubernetesServiceCallServiceDiscoveryConfigurationCommon.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/KubernetesServiceCallServiceDiscoveryConfigurationCommon.java
index 066236c3392..a52f93172b1 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/KubernetesServiceCallServiceDiscoveryConfigurationCommon.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/KubernetesServiceCallServiceDiscoveryConfigurationCommon.java
@@ -115,9 +115,9 @@ public class KubernetesServiceCallServiceDiscoveryConfigurationCommon {
     private Boolean trustCerts = false;
     /**
      * Set client properties to use. These properties are specific to what
-     * service call implementation are in use. For example if using ribbon, then
-     * the client properties are define in
-     * com.netflix.client.config.CommonClientConfigKey.
+     * service call implementation are in use. For example if using a different
+     * one, then the client properties are defined according to the specific
+     * service in use.
      */
     private Map<String, String> properties;
 
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/RibbonServiceCallServiceLoadBalancerConfigurationCommon.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/RibbonServiceCallServiceLoadBalancerConfigurationCommon.java
deleted file mode 100644
index 72c25b2abd9..00000000000
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/RibbonServiceCallServiceLoadBalancerConfigurationCommon.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model.cloud.springboot;
-
-import java.util.Map;
-import javax.annotation.Generated;
-
-/**
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
-public class RibbonServiceCallServiceLoadBalancerConfigurationCommon {
-
-    /**
-     * The namespace
-     */
-    private String namespace;
-    /**
-     * The username
-     */
-    private String username;
-    /**
-     * The password
-     */
-    private String password;
-    /**
-     * Sets the Ribbon client name
-     */
-    private String clientName;
-    /**
-     * Set client properties to use. These properties are specific to what
-     * service call implementation are in use. For example if using ribbon, then
-     * the client properties are define in
-     * com.netflix.client.config.CommonClientConfigKey.
-     */
-    private Map<String, String> properties;
-
-    public String getNamespace() {
-        return namespace;
-    }
-
-    public void setNamespace(String namespace) {
-        this.namespace = namespace;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public void setPassword(String password) {
-        this.password = password;
-    }
-
-    public String getClientName() {
-        return clientName;
-    }
-
-    public void setClientName(String clientName) {
-        this.clientName = clientName;
-    }
-
-    public Map<String, String> getProperties() {
-        return properties;
-    }
-
-    public void setProperties(Map<String, String> properties) {
-        this.properties = properties;
-    }
-}
\ No newline at end of file
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/RibbonServiceCallServiceLoadBalancerConfigurationProperties.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/RibbonServiceCallServiceLoadBalancerConfigurationProperties.java
deleted file mode 100644
index 04f2a4b3de4..00000000000
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/model/cloud/springboot/RibbonServiceCallServiceLoadBalancerConfigurationProperties.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model.cloud.springboot;
-
-import java.util.HashMap;
-import java.util.Map;
-import javax.annotation.Generated;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
-@ConfigurationProperties(prefix = "camel.cloud.ribbon.load-balancer")
-public class RibbonServiceCallServiceLoadBalancerConfigurationProperties
-        extends
-            RibbonServiceCallServiceLoadBalancerConfigurationCommon {
-
-    /**
-     * Enable the component
-     */
-    private boolean enabled = true;
-    /**
-     * Define additional configuration definitions
-     */
-    private Map<String, RibbonServiceCallServiceLoadBalancerConfigurationCommon> configurations = new HashMap<>();
-
-    public Map<String, RibbonServiceCallServiceLoadBalancerConfigurationCommon> getConfigurations() {
-        return configurations;
-    }
-
-    public boolean isEnabled() {
-        return enabled;
-    }
-
-    public void setEnabled(boolean enabled) {
-        this.enabled = enabled;
-    }
-}
\ No newline at end of file
diff --git a/components-starter/camel-ribbon-starter/pom.xml b/components-starter/camel-ribbon-starter/pom.xml
deleted file mode 100644
index b522cad9f07..00000000000
--- a/components-starter/camel-ribbon-starter/pom.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.camel.springboot</groupId>
-    <artifactId>components-starter</artifactId>
-    <version>3.17.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>camel-ribbon-starter</artifactId>
-  <packaging>jar</packaging>
-  <name>Camel SB Starters :: Ribbon</name>
-  <description>Spring-Boot Starter for Camel Components</description>
-  <dependencies>
-    <dependency>
-      <groupId>org.springframework.boot</groupId>
-      <artifactId>spring-boot-starter</artifactId>
-      <version>${spring-boot-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-ribbon</artifactId>
-      <version>${camel-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-jetty</artifactId>
-      <version>${camel-version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-http</artifactId>
-      <version>${camel-version}</version>
-      <scope>test</scope>
-    </dependency>
-    <!--START OF GENERATED CODE-->
-    <dependency>
-      <groupId>org.apache.camel.springboot</groupId>
-      <artifactId>camel-core-starter</artifactId>
-    </dependency>
-    <!--END OF GENERATED CODE-->
-  </dependencies>
-</project>
diff --git a/components-starter/camel-ribbon-starter/src/main/docs/ribbon.json b/components-starter/camel-ribbon-starter/src/main/docs/ribbon.json
deleted file mode 100644
index da5f5f24116..00000000000
--- a/components-starter/camel-ribbon-starter/src/main/docs/ribbon.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-  "properties": []
-}
\ No newline at end of file
diff --git a/components-starter/camel-ribbon-starter/src/main/java/org/apache/camel/component/ribbon/springboot/cloud/RibbonCloudAutoConfiguration.java b/components-starter/camel-ribbon-starter/src/main/java/org/apache/camel/component/ribbon/springboot/cloud/RibbonCloudAutoConfiguration.java
deleted file mode 100644
index ad91b3b774b..00000000000
--- a/components-starter/camel-ribbon-starter/src/main/java/org/apache/camel/component/ribbon/springboot/cloud/RibbonCloudAutoConfiguration.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.ribbon.springboot.cloud;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.annotation.PostConstruct;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.cloud.ServiceLoadBalancer;
-import org.apache.camel.component.ribbon.cloud.RibbonServiceLoadBalancerFactory;
-import org.apache.camel.model.cloud.springboot.RibbonServiceCallServiceLoadBalancerConfigurationCommon;
-import org.apache.camel.model.cloud.springboot.RibbonServiceCallServiceLoadBalancerConfigurationProperties;
-import org.apache.camel.spring.boot.CamelAutoConfiguration;
-import org.apache.camel.spring.boot.util.GroupCondition;
-import org.apache.camel.support.IntrospectionSupport;
-import org.springframework.beans.factory.BeanCreationException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.config.ConfigurableBeanFactory;
-import org.springframework.boot.autoconfigure.AutoConfigureAfter;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Conditional;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Lazy;
-
-@Configuration(proxyBeanMethods = false)
-@ConditionalOnBean(CamelAutoConfiguration.class)
-@Conditional(RibbonCloudAutoConfiguration.Condition.class)
-@AutoConfigureAfter(CamelAutoConfiguration.class)
-@EnableConfigurationProperties(RibbonServiceCallServiceLoadBalancerConfigurationProperties.class)
-public class RibbonCloudAutoConfiguration {
-    @Autowired
-    private CamelContext camelContext;
-    @Autowired
-    private RibbonServiceCallServiceLoadBalancerConfigurationProperties configuration;
-    @Autowired
-    private ConfigurableBeanFactory beanFactory;
-
-    @Lazy
-    @Bean(name = "ribbon-load-balancer")
-    @ConditionalOnClass(CamelContext.class)
-    public ServiceLoadBalancer configureLoadBalancerFactory() throws Exception {
-        RibbonServiceLoadBalancerFactory factory = new RibbonServiceLoadBalancerFactory();
-
-        IntrospectionSupport.setProperties(
-            camelContext,
-            camelContext.getTypeConverter(),
-            factory,
-            IntrospectionSupport.getNonNullProperties(configuration));
-
-        return factory.newInstance(camelContext);
-    }
-
-    @PostConstruct
-    public void postConstruct() {
-        if (beanFactory != null) {
-            Map<String, Object> parameters = new HashMap<>();
-
-            for (Map.Entry<String, RibbonServiceCallServiceLoadBalancerConfigurationCommon> entry : configuration.getConfigurations().entrySet()) {
-                // clean up params
-                parameters.clear();
-
-                // The instance factory
-                RibbonServiceLoadBalancerFactory factory = new RibbonServiceLoadBalancerFactory();
-
-                try {
-                    IntrospectionSupport.getProperties(entry.getValue(), parameters, null, false);
-                    IntrospectionSupport.setProperties(camelContext, camelContext.getTypeConverter(), factory, parameters);
-
-                    beanFactory.registerSingleton(entry.getKey(), factory.newInstance(camelContext));
-                } catch (Exception e) {
-                    throw new BeanCreationException(entry.getKey(), e.getMessage(), e);
-                }
-            }
-        }
-    }
-
-    // *******************************
-    // Condition
-    // *******************************
-
-    public static class Condition extends GroupCondition {
-        public Condition() {
-            super(
-                "camel.cloud.ribbon",
-                "camel.cloud.ribbon.load-balancer"
-            );
-        }
-    }
-}
diff --git a/components-starter/camel-ribbon-starter/src/main/resources/META-INF/LICENSE.txt b/components-starter/camel-ribbon-starter/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b1270ff0..00000000000
--- a/components-starter/camel-ribbon-starter/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
diff --git a/components-starter/camel-ribbon-starter/src/main/resources/META-INF/NOTICE.txt b/components-starter/camel-ribbon-starter/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf2e6b..00000000000
--- a/components-starter/camel-ribbon-starter/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components-starter/camel-ribbon-starter/src/main/resources/META-INF/spring.factories b/components-starter/camel-ribbon-starter/src/main/resources/META-INF/spring.factories
deleted file mode 100644
index 0bfb2aaea14..00000000000
--- a/components-starter/camel-ribbon-starter/src/main/resources/META-INF/spring.factories
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements.  See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-org.apache.camel.component.ribbon.springboot.cloud.RibbonCloudAutoConfiguration
\ No newline at end of file
diff --git a/components-starter/camel-ribbon-starter/src/main/resources/META-INF/spring.provides b/components-starter/camel-ribbon-starter/src/main/resources/META-INF/spring.provides
deleted file mode 100644
index a43ae53c458..00000000000
--- a/components-starter/camel-ribbon-starter/src/main/resources/META-INF/spring.provides
+++ /dev/null
@@ -1,17 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements.  See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-provides: camel-ribbon
diff --git a/components-starter/camel-ribbon-starter/src/test/java/org/apache/camel/component/ribbon/springboot/cloud/RibbonLoadBalancerAutoConfigurationTest.java b/components-starter/camel-ribbon-starter/src/test/java/org/apache/camel/component/ribbon/springboot/cloud/RibbonLoadBalancerAutoConfigurationTest.java
deleted file mode 100644
index 063698807d2..00000000000
--- a/components-starter/camel-ribbon-starter/src/test/java/org/apache/camel/component/ribbon/springboot/cloud/RibbonLoadBalancerAutoConfigurationTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.ribbon.springboot.cloud;
-
-import org.apache.camel.cloud.ServiceLoadBalancer;
-import org.apache.camel.model.cloud.springboot.RibbonServiceCallServiceLoadBalancerConfigurationProperties;
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.test.context.runner.ApplicationContextRunner;
-import org.springframework.context.annotation.Configuration;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class RibbonLoadBalancerAutoConfigurationTest {
-    @Test
-    public void testRibbonLoadBalancerDisabled() {
-        new ApplicationContextRunner()
-            .withUserConfiguration(TestConfiguration.class)
-            .withPropertyValues(
-                "spring.main.banner-mode=off",
-                "camel.cloud.ribbon.load-balancer.enabled=false")
-            .run(
-                context -> {
-                    assertThat(context).doesNotHaveBean(RibbonServiceCallServiceLoadBalancerConfigurationProperties.class);
-                    assertThat(context).getBeans(ServiceLoadBalancer.class).doesNotContainKeys("ribbon-load-balancer");
-                }
-            );
-    }
-
-    @Test
-    public void testRibbonLoadBalancerEnabled() {
-        new ApplicationContextRunner()
-            .withUserConfiguration(TestConfiguration.class)
-            .withPropertyValues(
-                "spring.main.banner-mode=off",
-                "camel.cloud.ribbon.load-balancer.enabled=true")
-            .run(
-                context -> {
-                    assertThat(context).hasSingleBean(RibbonServiceCallServiceLoadBalancerConfigurationProperties.class);
-                    assertThat(context).getBeans(ServiceLoadBalancer.class).containsKeys("ribbon-load-balancer");
-                }
-            );
-    }
-
-    @EnableAutoConfiguration
-    @Configuration
-    public static class TestConfiguration {
-    }
-}
diff --git a/components-starter/camel-ribbon-starter/src/test/java/org/apache/camel/component/ribbon/springboot/cloud/RibbonLoadBalancerTest.java b/components-starter/camel-ribbon-starter/src/test/java/org/apache/camel/component/ribbon/springboot/cloud/RibbonLoadBalancerTest.java
deleted file mode 100644
index 3023b4c4109..00000000000
--- a/components-starter/camel-ribbon-starter/src/test/java/org/apache/camel/component/ribbon/springboot/cloud/RibbonLoadBalancerTest.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.ribbon.springboot.cloud;
-
-import java.util.Optional;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Navigate;
-import org.apache.camel.Processor;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.Route;
-import org.apache.camel.RoutesBuilder;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.ribbon.cloud.RibbonServiceLoadBalancer;
-import org.apache.camel.impl.cloud.DefaultServiceCallProcessor;
-import org.apache.camel.spring.boot.cloud.CamelCloudServiceDiscovery;
-import org.apache.camel.spring.boot.cloud.CamelCloudServiceFilter;
-import org.apache.camel.test.AvailablePortFinder;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.test.context.runner.ApplicationContextRunner;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class RibbonLoadBalancerTest {
-    private static final int PORT1 = AvailablePortFinder.getNextAvailable();
-    private static final int PORT2 = AvailablePortFinder.getNextAvailable();
-
-    @Test
-    public void testLoadBalancer() throws Exception {
-        new ApplicationContextRunner()
-            .withUserConfiguration(TestConfiguration.class)
-            .withPropertyValues(
-                "spring.main.banner-mode=off",
-                "camel.cloud.consul.service-discovery.enabled=false",
-                "debug=false",
-                "camel.cloud.service-discovery.services[myService]=localhost:" + PORT1 + ",localhost:" + PORT2,
-                "camel.cloud.ribbon.load-balancer.enabled=true")
-            .run(
-                context -> {
-                    final CamelContext camelContext = context.getBean(CamelContext.class);
-                    final ProducerTemplate template = camelContext.createProducerTemplate();
-
-                    DefaultServiceCallProcessor processor = findServiceCallProcessor(camelContext);
-                    assertThat(processor.getLoadBalancer()).isNotNull();
-                    assertThat(processor.getLoadBalancer()).isInstanceOf(RibbonServiceLoadBalancer.class);
-
-                    RibbonServiceLoadBalancer loadBalancer = (RibbonServiceLoadBalancer)processor.getLoadBalancer();
-                    assertThat(loadBalancer.getServiceDiscovery()).isInstanceOf(CamelCloudServiceDiscovery.class);
-                    assertThat(loadBalancer.getServiceFilter()).isInstanceOf(CamelCloudServiceFilter.class);
-
-                    assertThat(template.requestBody("direct:start", null, String.class)).isEqualTo("" + PORT2);
-                    assertThat(template.requestBody("direct:start", null, String.class)).isEqualTo("" + PORT1);
-                }
-            );
-    }
-
-    @EnableAutoConfiguration
-    @Configuration
-    public static class TestConfiguration {
-        @Bean
-        public RoutesBuilder routeBuilder() {
-            return new RouteBuilder() {
-                @Override
-                public void configure() throws Exception {
-                    from("direct:start")
-                        .routeId("scall")
-                        .serviceCall()
-                            .name("myService")
-                            .uri("jetty:http://myService")
-                            .end();
-                    fromF("jetty:http://localhost:%d", PORT1)
-                        .routeId("" + PORT1)
-                        .transform()
-                        .constant("" + PORT1);
-                    fromF("jetty:http://localhost:%d", PORT2)
-                        .routeId("" + PORT2)
-                        .transform()
-                        .constant("" + PORT2);
-                }
-            };
-        }
-    }
-
-    // ************************************
-    // Helpers
-    // ************************************
-
-    protected DefaultServiceCallProcessor findServiceCallProcessor(CamelContext context) {
-        Route route = context.getRoute("scall");
-
-        Assertions.assertNotNull(route, "ServiceCall Route should be present");
-
-        return findServiceCallProcessor(route.navigate())
-            .orElseThrow(() -> new IllegalStateException("Unable to find a ServiceCallProcessor"));
-    }
-
-    protected Optional<DefaultServiceCallProcessor> findServiceCallProcessor(Navigate<Processor> navigate) {
-        for (Processor processor : navigate.next()) {
-            if (processor instanceof DefaultServiceCallProcessor) {
-                return Optional.ofNullable((DefaultServiceCallProcessor)processor);
-            }
-
-            if (processor instanceof Navigate) {
-                return findServiceCallProcessor((Navigate<Processor>)processor);
-            }
-        }
-
-        return Optional.empty();
-    }
-}
diff --git a/components-starter/camel-ribbon-starter/src/test/resources/application.properties b/components-starter/camel-ribbon-starter/src/test/resources/application.properties
deleted file mode 100644
index 71e1678fa96..00000000000
--- a/components-starter/camel-ribbon-starter/src/test/resources/application.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements.  See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-
-spring.main.banner-mode=off
diff --git a/components-starter/camel-ribbon-starter/src/test/resources/logback.xml b/components-starter/camel-ribbon-starter/src/test/resources/logback.xml
deleted file mode 100644
index 9de159dd04a..00000000000
--- a/components-starter/camel-ribbon-starter/src/test/resources/logback.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<configuration>
-
-  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-    <!-- encoders are assigned the type
-         ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
-    <encoder>
-      <pattern>%d{HH:mm:ss.SSS} [%-15.15thread] %-5level %-30.30logger - %msg%n</pattern>
-    </encoder>
-  </appender>
-
-  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
-    <encoder>
-      <pattern>%d{HH:mm:ss.SSS} [%-15.15thread] %-5level %-30.30logger - %msg%n</pattern>
-    </encoder>
-    <file>target/camel-ribbon-starter-test.log</file>
-  </appender>
-
-  <root level="INFO">
-    <appender-ref ref="FILE"/>
-  </root>
-
-</configuration>
\ No newline at end of file
diff --git a/components-starter/pom.xml b/components-starter/pom.xml
index eaa09480b84..0e5d4fd9762 100644
--- a/components-starter/pom.xml
+++ b/components-starter/pom.xml
@@ -361,7 +361,6 @@
     <module>camel-rest-starter</module>
     <module>camel-rest-swagger-starter</module>
     <module>camel-resteasy-starter</module>
-    <module>camel-ribbon-starter</module>
     <module>camel-robotframework-starter</module>
     <module>camel-rss-starter</module>
     <module>camel-rxjava-starter</module>
diff --git a/core/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceCallGlobalConfigurationTest.java b/core/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceCallGlobalConfigurationTest.java
index 01abe2204f2..a3de5b7ca29 100644
--- a/core/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceCallGlobalConfigurationTest.java
+++ b/core/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceCallGlobalConfigurationTest.java
@@ -98,7 +98,6 @@ public class CamelCloudServiceCallGlobalConfigurationTest {
         prop.put("camel.cloud.service-call.service-filter", "sf");
         prop.put("camel.cloud.service-discovery.configurations[sd].services[custom-svc-list]", SpringBootPropertyUtil.getDiscoveryServices());
         prop.put("camel.cloud.service-filter.configurations[sf].blacklist[custom-svc-list]", SpringBootPropertyUtil.getServiceFilterBlacklist());
-        prop.put("ribbon.enabled", false);
         prop.put("debug", false);
         return prop;
     }
diff --git a/core/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceCallRefExpressionTest.java b/core/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceCallRefExpressionTest.java
index dd162011546..c75f0c1ac25 100644
--- a/core/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceCallRefExpressionTest.java
+++ b/core/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceCallRefExpressionTest.java
@@ -127,7 +127,6 @@ public class CamelCloudServiceCallRefExpressionTest {
         prop.put("camel.cloud.service-call.component", "http");
         prop.put("camel.cloud.service-discovery.services[custom-svc-list]", SpringBootPropertyUtil.getDiscoveryServices());
         prop.put("camel.cloud.service-filter.blacklist[custom-svc-list]", SpringBootPropertyUtil.getServiceFilterBlacklist());
-        prop.put("ribbon.enabled", false);
         prop.put("debug", false);
         return prop;
     }
diff --git a/core/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceCallSimpleExpressionTest.java b/core/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceCallSimpleExpressionTest.java
index 4dd9df810b9..c25575e3c8f 100644
--- a/core/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceCallSimpleExpressionTest.java
+++ b/core/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceCallSimpleExpressionTest.java
@@ -97,7 +97,6 @@ public class CamelCloudServiceCallSimpleExpressionTest {
         prop.put("camel.cloud.service-call.expression-language", "simple");
         prop.put("camel.cloud.service-discovery.services[custom-svc-list]", SpringBootPropertyUtil.getDiscoveryServices());
         prop.put("camel.cloud.service-filter.blacklist[custom-svc-list]", SpringBootPropertyUtil.getServiceFilterBlacklist());
-        prop.put("ribbon.enabled", false);
         prop.put("debug", false);
         return prop;
     }
diff --git a/core/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceCallTest.java b/core/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceCallTest.java
index 2985a25a587..75bbce9fcab 100644
--- a/core/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceCallTest.java
+++ b/core/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceCallTest.java
@@ -96,7 +96,6 @@ public class CamelCloudServiceCallTest {
         prop.put("camel.cloud.service-call.component", "http");
         prop.put("camel.cloud.service-discovery.services[custom-svc-list]", SpringBootPropertyUtil.getDiscoveryServices());
         prop.put("camel.cloud.service-filter.blacklist[custom-svc-list]", SpringBootPropertyUtil.getServiceFilterBlacklist());
-        prop.put("ribbon.enabled", false);
         prop.put("debug", false);
         return prop;
     }
diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelRibbonTest.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelRibbonTest.java
deleted file mode 100644
index 999a65d46ec..00000000000
--- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelRibbonTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.itest.springboot;
-
-import org.apache.camel.itest.springboot.util.ArquillianPackager;
-import org.jboss.arquillian.container.test.api.Deployment;
-import org.jboss.arquillian.junit5.ArquillianExtension;
-import org.jboss.shrinkwrap.api.Archive;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-
-
-@ExtendWith(ArquillianExtension.class)
-public class CamelRibbonTest extends AbstractSpringBootTestSupport {
-
-    @Deployment
-    public static Archive<?> createSpringBootPackage() throws Exception {
-        return ArquillianPackager.springBootPackage(createTestConfig());
-    }
-
-    public static ITestConfig createTestConfig() {
-        return new ITestConfigBuilder()
-                .module(inferModuleName(CamelRibbonTest.class))
-                .build();
-    }
-
-    @Test
-    public void componentTests() throws Exception {
-        // no components
-        this.runModuleUnitTestsIfEnabled(config);
-    }
-
-
-}
diff --git a/tooling/camel-spring-boot-bom/pom.xml b/tooling/camel-spring-boot-bom/pom.xml
index fdb7f6321bf..0483dcf9975 100644
--- a/tooling/camel-spring-boot-bom/pom.xml
+++ b/tooling/camel-spring-boot-bom/pom.xml
@@ -1303,11 +1303,6 @@
         <artifactId>camel-resteasy-starter</artifactId>
         <version>${project.version}</version>
       </dependency>
-      <dependency>
-        <groupId>org.apache.camel.springboot</groupId>
-        <artifactId>camel-ribbon-starter</artifactId>
-        <version>${project.version}</version>
-      </dependency>
       <dependency>
         <groupId>org.apache.camel.springboot</groupId>
         <artifactId>camel-robotframework-starter</artifactId>
diff --git a/tooling/camel-spring-boot-dependencies/pom.xml b/tooling/camel-spring-boot-dependencies/pom.xml
index 0db66854170..961c4e87397 100644
--- a/tooling/camel-spring-boot-dependencies/pom.xml
+++ b/tooling/camel-spring-boot-dependencies/pom.xml
@@ -1491,11 +1491,6 @@
         <artifactId>camel-resteasy-starter</artifactId>
         <version>${project.version}</version>
       </dependency>
-      <dependency>
-        <groupId>org.apache.camel.springboot</groupId>
-        <artifactId>camel-ribbon-starter</artifactId>
-        <version>${project.version}</version>
-      </dependency>
       <dependency>
         <groupId>org.apache.camel.springboot</groupId>
         <artifactId>camel-robotframework-starter</artifactId>
@@ -3622,11 +3617,6 @@
         <artifactId>camel-resteasy</artifactId>
         <version>3.17.0-SNAPSHOT</version>
       </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-ribbon</artifactId>
-        <version>3.17.0-SNAPSHOT</version>
-      </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
         <artifactId>camel-robotframework</artifactId>
diff --git a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
index eb9cf69887b..81cf1f82560 100644
--- a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
+++ b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
@@ -236,18 +236,6 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
             createEipModelConfigurationSource(pkg, model, "camel.cloud.kubernetes.service-discovery", true);
         }
 
-        // Ribbon
-        json = loadModelJson(files, "ribbonLoadBalancer");
-        if (json != null) {
-            EipModel model = JsonMapper.generateEipModel(json);
-
-            int pos = model.getJavaType().lastIndexOf(".");
-            String pkg = model.getJavaType().substring(0, pos) + ".springboot";
-
-            // Generate properties, auto-configuration for camel-core-starter
-            createEipModelConfigurationSource(pkg, model, "camel.cloud.ribbon.load-balancer", true);
-        }
-
         // Rest
         json = loadModelJson(files, "restConfiguration");
         if (json != null) {