diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/spring-rabbitmq.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/spring-rabbitmq.json
index 33fb9a052ee7..67f0c58c79b7 100644
--- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/spring-rabbitmq.json
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/spring-rabbitmq.json
@@ -43,7 +43,7 @@
"maxConcurrentConsumers": { "index": 16, "kind": "property", "displayName": "Max Concurrent Consumers", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "The maximum number of consumers (available only with SMLC)" },
"messageListenerContainerType": { "index": 17, "kind": "property", "displayName": "Message Listener Container Type", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "DMLC", "SMLC" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DMLC", "description": "The type of the MessageListenerContainer" },
"prefetchCount": { "index": 18, "kind": "property", "displayName": "Prefetch Count", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 250, "description": "Tell the broker how many messages to send to each consumer in a single request. Often this can be set quite high to improve throughput." },
- "retry": { "index": 19, "kind": "property", "displayName": "Retry", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.springframework.retry.interceptor.RetryOperationsInterceptor", "deprecated": false, "autowired": false, "secret": false, "description": "Custom retry configuration to use. If this is configured then the other settings such as maximumRetryAttempts for retry are not in use." },
+ "retry": { "index": 19, "kind": "property", "displayName": "Retry", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.springframework.amqp.rabbit.config.StatelessRetryOperationsInterceptor", "deprecated": false, "autowired": false, "secret": false, "description": "Custom retry configuration to use. If this is configured then the other settings such as maximumRetryAttempts for retry are not in use." },
"shutdownTimeout": { "index": 20, "kind": "property", "displayName": "Shutdown Timeout", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "5000", "description": "The time to wait for workers in milliseconds after the container is stopped. If any workers are active when the shutdown signal comes they will be allowed to finish processing as long as they can finish within this timeout." },
"allowNullBody": { "index": 21, "kind": "property", "displayName": "Allow Null Body", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to allow sending messages with no body. If this option is false and the message body is null, then an MessageConversionException is thrown." },
"autoDeclareProducer": { "index": 22, "kind": "property", "displayName": "Auto Declare Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Specifies whether the producer should auto declare binding between exchange, queue and routing key when starting. Enabling this can be good for development to make it easy to standup exchanges, queues and bindings on the broker." },
@@ -106,7 +106,7 @@
"maxConcurrentConsumers": { "index": 24, "kind": "parameter", "displayName": "Max Concurrent Consumers", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "The maximum number of consumers (available only with SMLC)" },
"messageListenerContainerType": { "index": 25, "kind": "parameter", "displayName": "Message Listener Container Type", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "DMLC", "SMLC" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "DMLC", "description": "The type of the MessageListenerContainer" },
"prefetchCount": { "index": 26, "kind": "parameter", "displayName": "Prefetch Count", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Tell the broker how many messages to send in a single request. Often this can be set quite high to improve throughput." },
- "retry": { "index": 27, "kind": "parameter", "displayName": "Retry", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.springframework.retry.interceptor.RetryOperationsInterceptor", "deprecated": false, "autowired": false, "secret": false, "description": "Custom retry configuration to use. If this is configured then the other settings such as maximumRetryAttempts for retry are not in use." },
+ "retry": { "index": 27, "kind": "parameter", "displayName": "Retry", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.springframework.amqp.rabbit.config.StatelessRetryOperationsInterceptor", "deprecated": false, "autowired": false, "secret": false, "description": "Custom retry configuration to use. If this is configured then the other settings such as maximumRetryAttempts for retry are not in use." },
"allowNullBody": { "index": 28, "kind": "parameter", "displayName": "Allow Null Body", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to allow sending messages with no body. If this option is false and the message body is null, then an MessageConversionException is thrown." },
"autoDeclareProducer": { "index": 29, "kind": "parameter", "displayName": "Auto Declare Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Specifies whether the producer should auto declare binding between exchange, queue and routing key when starting." },
"confirm": { "index": 30, "kind": "parameter", "displayName": "Confirm", "group": "producer", "label": "producer", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "auto", "enabled", "disabled" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "auto", "description": "Controls whether to wait for confirms. The connection factory must be configured for publisher confirms and this method. auto = Camel detects if the connection factory uses confirms or not. disabled = Confirms is disabled. enabled = Confirms is enabled." },
diff --git a/components-starter/camel-activemq-starter/pom.xml b/components-starter/camel-activemq-starter/pom.xml
index 20efedf46bbe..02aac6a8074c 100644
--- a/components-starter/camel-activemq-starter/pom.xml
+++ b/components-starter/camel-activemq-starter/pom.xml
@@ -37,6 +37,14 @@
org.apache.camelcamel-activemq${camel-version}
+
+
+
+ commons-logging
+ commons-logging
+
+
+
diff --git a/components-starter/camel-activemq6-starter/pom.xml b/components-starter/camel-activemq6-starter/pom.xml
index 4543c6a36c21..575dc67a9df9 100644
--- a/components-starter/camel-activemq6-starter/pom.xml
+++ b/components-starter/camel-activemq6-starter/pom.xml
@@ -37,6 +37,14 @@
org.apache.camelcamel-activemq6${camel-version}
+
+
+
+ commons-logging
+ commons-logging
+
+
+
diff --git a/components-starter/camel-amqp-starter/pom.xml b/components-starter/camel-amqp-starter/pom.xml
index 315695100e90..51f64212e94f 100644
--- a/components-starter/camel-amqp-starter/pom.xml
+++ b/components-starter/camel-amqp-starter/pom.xml
@@ -38,6 +38,14 @@
org.apache.camelcamel-amqp${camel-version}
+
+
+
+ commons-logging
+ commons-logging
+
+
+
diff --git a/components-starter/camel-aws2-s3-starter/src/test/java/org/apache/camel/component/aws2/s3/S3CreateDownloadLinkOperationTest.java b/components-starter/camel-aws2-s3-starter/src/test/java/org/apache/camel/component/aws2/s3/S3CreateDownloadLinkOperationTest.java
index 3838041911d7..2d0d6990dcbf 100644
--- a/components-starter/camel-aws2-s3-starter/src/test/java/org/apache/camel/component/aws2/s3/S3CreateDownloadLinkOperationTest.java
+++ b/components-starter/camel-aws2-s3-starter/src/test/java/org/apache/camel/component/aws2/s3/S3CreateDownloadLinkOperationTest.java
@@ -24,6 +24,7 @@
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.spring.boot.CamelAutoConfiguration;
import org.apache.camel.test.spring.junit5.CamelSpringBootTest;
+import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
import org.springframework.boot.test.context.SpringBootTest;
@@ -32,9 +33,6 @@
import org.springframework.test.annotation.DirtiesContext;
import software.amazon.awssdk.services.s3.S3Client;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-
//Based on S3CreateDownloadLinkOperationIT
@DirtiesContext
@CamelSpringBootTest
@@ -75,8 +73,8 @@ public void process(Exchange exchange) {
}
});
- assertNotNull(ex1.getMessage().getBody());
- assertNull(ex2.getMessage().getBody());
+ Assertions.assertThat(ex1.getMessage().getBody()).isNotNull();
+ Assertions.assertThat(ex2.getMessage().getBody()).isNull();
assertMockEndpointsSatisfied();
}
diff --git a/components-starter/camel-hashicorp-vault-starter/pom.xml b/components-starter/camel-hashicorp-vault-starter/pom.xml
index 0f1a069f376c..74a05afda3a4 100644
--- a/components-starter/camel-hashicorp-vault-starter/pom.xml
+++ b/components-starter/camel-hashicorp-vault-starter/pom.xml
@@ -37,6 +37,14 @@
org.apache.camelcamel-hashicorp-vault${camel-version}
+
+
+
+ commons-logging
+ commons-logging
+
+
+
diff --git a/components-starter/camel-jms-starter/pom.xml b/components-starter/camel-jms-starter/pom.xml
index 9c3684b00120..03f37b01e97e 100644
--- a/components-starter/camel-jms-starter/pom.xml
+++ b/components-starter/camel-jms-starter/pom.xml
@@ -37,6 +37,14 @@
org.apache.camelcamel-jms${camel-version}
+
+
+
+ commons-logging
+ commons-logging
+
+
+
diff --git a/components-starter/camel-jpa-starter/pom.xml b/components-starter/camel-jpa-starter/pom.xml
index 60ad1378014e..ccd00a91d1c5 100644
--- a/components-starter/camel-jpa-starter/pom.xml
+++ b/components-starter/camel-jpa-starter/pom.xml
@@ -37,6 +37,14 @@
org.apache.camelcamel-jpa${camel-version}
+
+
+
+ commons-logging
+ commons-logging
+
+
+
diff --git a/components-starter/camel-platform-http-starter/pom.xml b/components-starter/camel-platform-http-starter/pom.xml
index dfe61f3ebb3f..38cabb97d6c0 100644
--- a/components-starter/camel-platform-http-starter/pom.xml
+++ b/components-starter/camel-platform-http-starter/pom.xml
@@ -50,11 +50,20 @@
${spring-boot-version}
+ org.springframework.boot
+ spring-boot-starter-security-oauth2-client
+ ${spring-boot-version}
+
+
+
+
+
+
org.springframework.bootspring-boot-starter-actuator
@@ -85,6 +94,24 @@
${spring-session-hazelcast-version}test
+
+ org.springframework.boot
+ spring-boot-restclient
+ ${spring-boot-version}
+ test
+
+
+ org.springframework.boot
+ spring-boot-resttestclient
+ ${spring-boot-version}
+ test
+
+
+ org.springframework.boot
+ spring-boot-webmvc-test
+ ${spring-boot-version}
+ test
+ com.hazelcasthazelcast
diff --git a/components-starter/camel-platform-http-starter/src/main/java/org/apache/camel/component/platform/http/springboot/SpringBootPlatformHttpAutoConfiguration.java b/components-starter/camel-platform-http-starter/src/main/java/org/apache/camel/component/platform/http/springboot/SpringBootPlatformHttpAutoConfiguration.java
index a9fdbc9d0563..2f3ec376d407 100644
--- a/components-starter/camel-platform-http-starter/src/main/java/org/apache/camel/component/platform/http/springboot/SpringBootPlatformHttpAutoConfiguration.java
+++ b/components-starter/camel-platform-http-starter/src/main/java/org/apache/camel/component/platform/http/springboot/SpringBootPlatformHttpAutoConfiguration.java
@@ -24,8 +24,8 @@
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.webmvc.autoconfigure.WebMvcProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.DependsOn;
diff --git a/components-starter/camel-platform-http-starter/src/main/java/org/apache/camel/component/platform/http/springboot/SpringBootPlatformWebMvcConfiguration.java b/components-starter/camel-platform-http-starter/src/main/java/org/apache/camel/component/platform/http/springboot/SpringBootPlatformWebMvcConfiguration.java
index d8b2d71e79d4..b3c36c98f4d0 100644
--- a/components-starter/camel-platform-http-starter/src/main/java/org/apache/camel/component/platform/http/springboot/SpringBootPlatformWebMvcConfiguration.java
+++ b/components-starter/camel-platform-http-starter/src/main/java/org/apache/camel/component/platform/http/springboot/SpringBootPlatformWebMvcConfiguration.java
@@ -17,8 +17,8 @@
package org.apache.camel.component.platform.http.springboot;
import org.apache.camel.spring.boot.ComponentConfigurationProperties;
-import org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.webmvc.autoconfigure.WebMvcProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.AsyncSupportConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
diff --git a/components-starter/camel-platform-http-starter/src/main/java/org/apache/camel/component/platform/http/springboot/actuate/metrics/undertow/UndertowComponents.java b/components-starter/camel-platform-http-starter/src/main/java/org/apache/camel/component/platform/http/springboot/actuate/metrics/undertow/UndertowComponents.java
deleted file mode 100644
index 0aab75a88465..000000000000
--- a/components-starter/camel-platform-http-starter/src/main/java/org/apache/camel/component/platform/http/springboot/actuate/metrics/undertow/UndertowComponents.java
+++ /dev/null
@@ -1,25 +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.platform.http.springboot.actuate.metrics.undertow;
-
-import io.undertow.Undertow;
-import io.undertow.server.session.SessionManager;
-import io.undertow.servlet.api.Deployment;
-import org.xnio.XnioWorker;
-
-public record UndertowComponents(XnioWorker xnioWorker, SessionManager sessionManager,
- Deployment deployment, Undertow undertow) { }
diff --git a/components-starter/camel-platform-http-starter/src/main/java/org/apache/camel/component/platform/http/springboot/actuate/metrics/undertow/UndertowMetrics.java b/components-starter/camel-platform-http-starter/src/main/java/org/apache/camel/component/platform/http/springboot/actuate/metrics/undertow/UndertowMetrics.java
deleted file mode 100644
index 1b64570dff6e..000000000000
--- a/components-starter/camel-platform-http-starter/src/main/java/org/apache/camel/component/platform/http/springboot/actuate/metrics/undertow/UndertowMetrics.java
+++ /dev/null
@@ -1,338 +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.platform.http.springboot.actuate.metrics.undertow;
-
-import io.micrometer.core.instrument.FunctionCounter;
-import io.micrometer.core.instrument.Gauge;
-import io.micrometer.core.instrument.MeterRegistry;
-import io.micrometer.core.instrument.Tag;
-import io.micrometer.core.instrument.Tags;
-import io.micrometer.core.instrument.binder.BaseUnits;
-import io.micrometer.core.instrument.binder.MeterBinder;
-import io.undertow.server.session.SessionManager;
-import io.undertow.servlet.api.Deployment;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.xnio.XnioWorker;
-
-import javax.management.AttributeNotFoundException;
-import javax.management.InstanceNotFoundException;
-import javax.management.MBeanException;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import javax.management.ReflectionException;
-import java.lang.management.ManagementFactory;
-import java.util.function.Supplier;
-
-/**
- * {@link MeterBinder} for Undertow.
- *