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


The following commit(s) were added to refs/heads/main by this push:
     new 0bb43295c5cc Removal of ThreadPoolFactory-vertx component
0bb43295c5cc is described below

commit 0bb43295c5cc8080d70e2512dbd7e03773a366ab
Author: Aurélien Pupier <[email protected]>
AuthorDate: Wed Aug 26 14:47:29 2026 +0200

    Removal of ThreadPoolFactory-vertx component
    
    The component camel-threadpoolfactory-vertx was deprecated in 4.21. The
    component has been in an experimental state for a long time and no user
    feedback has been received to justify continued maintenance.
    
    Signed-off-by: Aurélien Pupier <[email protected]>
---
 bom/camel-bom/pom.xml                              |   5 -
 catalog/camel-allcomponents/pom.xml                |   5 -
 .../org/apache/camel/catalog/docs.properties       |   1 -
 .../catalog/docs/threadpoolfactory-vertx.adoc      |  68 --------
 .../org/apache/camel/catalog/others.properties     |   1 -
 .../catalog/others/threadpoolfactory-vertx.json    |  15 --
 components/camel-threadpoolfactory-vertx/pom.xml   |  72 ---------
 .../services/org/apache/camel/other.properties     |   7 -
 .../services/org/apache/camel/thread-pool-factory  |   2 -
 .../resources/threadpoolfactory-vertx.json         |  15 --
 .../src/main/docs/threadpoolfactory-vertx.adoc     |  68 --------
 .../reactive/vertx/VertXThreadPoolFactory.java     | 175 ---------------------
 .../camel/reactive/SplitCustomThreadPoolTest.java  |  80 ----------
 .../reactive/SplitParallelLookupVertxTest.java     |  71 ---------
 .../apache/camel/reactive/SplitParallelTest.java   |  75 ---------
 .../src/test/resources/log4j2.properties           |  31 ----
 components/pom.xml                                 |   1 -
 coverage/pom.xml                                   |   5 -
 .../examples/json/threadpoolfactory-vertx.json     |   1 -
 docs/components/modules/others/nav.adoc            |   1 -
 .../others/pages/threadpoolfactory-vertx.adoc      |   1 -
 .../ROOT/pages/camel-4x-upgrade-guide-4_23.adoc    |   4 +
 dsl/camel-componentdsl/pom.xml                     |   4 -
 dsl/camel-endpointdsl/pom.xml                      |   4 -
 parent/pom.xml                                     |   5 -
 .../maven/packaging/PrepareDocSymlinksMojo.java    |   2 +-
 26 files changed, 5 insertions(+), 714 deletions(-)

diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index 38c55f483e0d..4dbc1025ec68 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -2462,11 +2462,6 @@
         <artifactId>camel-test-spring-junit6</artifactId>
         <version>4.23.0-SNAPSHOT</version>
       </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-threadpoolfactory-vertx</artifactId>
-        <version>4.23.0-SNAPSHOT</version>
-      </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
         <artifactId>camel-thrift</artifactId>
diff --git a/catalog/camel-allcomponents/pom.xml 
b/catalog/camel-allcomponents/pom.xml
index 936e56d27c5f..3d2e40be5d58 100644
--- a/catalog/camel-allcomponents/pom.xml
+++ b/catalog/camel-allcomponents/pom.xml
@@ -2232,11 +2232,6 @@
             <artifactId>camel-test-spring-junit6</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-threadpoolfactory-vertx</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-thrift</artifactId>
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
index 50b19800e477..b2aea29a889e 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
@@ -638,7 +638,6 @@ test-main-junit5
 test-main-junit6
 test-spring-junit5
 test-spring-junit6
-threadpoolfactory-vertx
 threads-eip
 thrift-component
 thrift-dataformat
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/threadpoolfactory-vertx.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/threadpoolfactory-vertx.adoc
deleted file mode 100644
index 9fc777ac9278..000000000000
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/threadpoolfactory-vertx.adoc
+++ /dev/null
@@ -1,68 +0,0 @@
-= ThreadPoolFactory Vert.x Component (deprecated)
-:doctitle: ThreadPoolFactory Vert.x
-:shortname: threadpoolfactory-vertx
-:artifactid: camel-threadpoolfactory-vertx
-:description: ThreadPoolFactory for camel-core using Vert.x
-:since: 3.5
-:supportlevel: Experimental-deprecated
-:deprecated: *deprecated*
-:tabs-sync-option:
-
-*Since Camel {since}*
-
-The Camel ThreadPoolFactory Vert.x component is a VertX based implementation 
of the `ThreadPoolFactory` SPI.
-
-By default, Camel will use its own thread pool for EIPs that can use parallel 
processing (such as splitter, aggregator).
-You can plug in different engines via an SPI interface. This is a VertX based 
plugin that uses the VertX worker thread pool
-(executeBlocking).
-
-== Restrictions
-
-This implementation has been designed to use VertX worker threads for EIPs 
where concurrency has been enabled (using default settings).
-However, this is limited to only apply when the EIP is not configured with a 
specific thread pool. For example, the first example
-below will use VertX worker threads, and the 2nd below will not:
-
-._Java-only: split with parallel processing using VertX worker threads_
-[source,java]
-----
-from("direct:start")
-    .to("log:foo")
-    .split(body()).parallelProcessing()
-        .to("mock:split")
-    .end()
-    .to("mock:result");
-----
-
-The following Split EIP will refer to a custom thread pool, and therefore 
VertX is not in use, and Camel will
-use the custom thread pool:
-
-._Java-only: split with a custom thread pool profile (not using VertX)_
-[source,java]
-----
-// register a custom thread pool profile with id myLowPool
-context.getExecutorServiceManager().registerThreadPoolProfile(
-    new 
ThreadPoolProfileBuilder("myLowPool").poolSize(2).maxPoolSize(10).build()
-);
-
-from("direct:start")
-    .to("log:foo")
-    .split(body()).executorService("myLowPool")
-        .to("mock:split")
-    .end()
-    .to("mock:result");
-----
-
-== VertX instance
-
-This implementation will first look up in the registry for an existing 
`io.vertx.core.Vertx` to be used.
-However, you can configure an existing instance using the getter/setter on the 
`VertXThreadPoolFactory` class.
-
-== Auto-detection from classpath
-
-To use this implementation all you need to do is to add the 
`camel-threadpoolfactory-vertx` dependency to the classpath,
-and Camel should auto-detect this on startup and log as follows:
-
-[source,text]
-----
-Using ThreadPoolFactory: camel-threadpoolfactory-vertx
-----
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others.properties
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others.properties
index 7bc3186225d5..d906c34686b7 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others.properties
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others.properties
@@ -68,7 +68,6 @@ test-main-junit5
 test-main-junit6
 test-spring-junit5
 test-spring-junit6
-threadpoolfactory-vertx
 tracing
 undertow-spring-security
 wal
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/threadpoolfactory-vertx.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/threadpoolfactory-vertx.json
deleted file mode 100644
index 65877035e010..000000000000
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/threadpoolfactory-vertx.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-  "other": {
-    "kind": "other",
-    "name": "threadpoolfactory-vertx",
-    "title": "ThreadPoolFactory Vert.x",
-    "description": "ThreadPoolFactory for camel-core using Vert.x",
-    "deprecated": true,
-    "firstVersion": "3.5.0",
-    "label": "reactive",
-    "supportLevel": "Experimental",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-threadpoolfactory-vertx",
-    "version": "4.23.0-SNAPSHOT"
-  }
-}
diff --git a/components/camel-threadpoolfactory-vertx/pom.xml 
b/components/camel-threadpoolfactory-vertx/pom.xml
deleted file mode 100644
index baa381caa43a..000000000000
--- a/components/camel-threadpoolfactory-vertx/pom.xml
+++ /dev/null
@@ -1,72 +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</groupId>
-        <artifactId>components</artifactId>
-        <version>4.23.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>camel-threadpoolfactory-vertx</artifactId>
-    <packaging>jar</packaging>
-    <name>Camel :: Thread Pool Factory :: Vert.x (deprecated)</name>
-    <description>ThreadPoolFactory for camel-core using Vert.x</description>
-
-    <properties>
-        <firstVersion>3.5.0</firstVersion>
-        <label>reactive</label>
-        <title>ThreadPoolFactory Vert.x</title>
-        <supportLevel>Experimental</supportLevel>
-    </properties>
-
-    <dependencies>
-
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-support</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>io.vertx</groupId>
-            <artifactId>vertx-core</artifactId>
-            <version>${vertx-version}</version>
-        </dependency>
-
-        <!-- testing -->
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-junit6</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-mock</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-</project>
diff --git 
a/components/camel-threadpoolfactory-vertx/src/generated/resources/META-INF/services/org/apache/camel/other.properties
 
b/components/camel-threadpoolfactory-vertx/src/generated/resources/META-INF/services/org/apache/camel/other.properties
deleted file mode 100644
index d695ef02ea00..000000000000
--- 
a/components/camel-threadpoolfactory-vertx/src/generated/resources/META-INF/services/org/apache/camel/other.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-name=threadpoolfactory-vertx
-groupId=org.apache.camel
-artifactId=camel-threadpoolfactory-vertx
-version=4.23.0-SNAPSHOT
-projectName=Camel :: Thread Pool Factory :: Vert.x (deprecated)
-projectDescription=ThreadPoolFactory for camel-core using Vert.x
diff --git 
a/components/camel-threadpoolfactory-vertx/src/generated/resources/META-INF/services/org/apache/camel/thread-pool-factory
 
b/components/camel-threadpoolfactory-vertx/src/generated/resources/META-INF/services/org/apache/camel/thread-pool-factory
deleted file mode 100644
index b938ef6a14c7..000000000000
--- 
a/components/camel-threadpoolfactory-vertx/src/generated/resources/META-INF/services/org/apache/camel/thread-pool-factory
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.reactive.vertx.VertXThreadPoolFactory
diff --git 
a/components/camel-threadpoolfactory-vertx/src/generated/resources/threadpoolfactory-vertx.json
 
b/components/camel-threadpoolfactory-vertx/src/generated/resources/threadpoolfactory-vertx.json
deleted file mode 100644
index 65877035e010..000000000000
--- 
a/components/camel-threadpoolfactory-vertx/src/generated/resources/threadpoolfactory-vertx.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-  "other": {
-    "kind": "other",
-    "name": "threadpoolfactory-vertx",
-    "title": "ThreadPoolFactory Vert.x",
-    "description": "ThreadPoolFactory for camel-core using Vert.x",
-    "deprecated": true,
-    "firstVersion": "3.5.0",
-    "label": "reactive",
-    "supportLevel": "Experimental",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-threadpoolfactory-vertx",
-    "version": "4.23.0-SNAPSHOT"
-  }
-}
diff --git 
a/components/camel-threadpoolfactory-vertx/src/main/docs/threadpoolfactory-vertx.adoc
 
b/components/camel-threadpoolfactory-vertx/src/main/docs/threadpoolfactory-vertx.adoc
deleted file mode 100644
index 9fc777ac9278..000000000000
--- 
a/components/camel-threadpoolfactory-vertx/src/main/docs/threadpoolfactory-vertx.adoc
+++ /dev/null
@@ -1,68 +0,0 @@
-= ThreadPoolFactory Vert.x Component (deprecated)
-:doctitle: ThreadPoolFactory Vert.x
-:shortname: threadpoolfactory-vertx
-:artifactid: camel-threadpoolfactory-vertx
-:description: ThreadPoolFactory for camel-core using Vert.x
-:since: 3.5
-:supportlevel: Experimental-deprecated
-:deprecated: *deprecated*
-:tabs-sync-option:
-
-*Since Camel {since}*
-
-The Camel ThreadPoolFactory Vert.x component is a VertX based implementation 
of the `ThreadPoolFactory` SPI.
-
-By default, Camel will use its own thread pool for EIPs that can use parallel 
processing (such as splitter, aggregator).
-You can plug in different engines via an SPI interface. This is a VertX based 
plugin that uses the VertX worker thread pool
-(executeBlocking).
-
-== Restrictions
-
-This implementation has been designed to use VertX worker threads for EIPs 
where concurrency has been enabled (using default settings).
-However, this is limited to only apply when the EIP is not configured with a 
specific thread pool. For example, the first example
-below will use VertX worker threads, and the 2nd below will not:
-
-._Java-only: split with parallel processing using VertX worker threads_
-[source,java]
-----
-from("direct:start")
-    .to("log:foo")
-    .split(body()).parallelProcessing()
-        .to("mock:split")
-    .end()
-    .to("mock:result");
-----
-
-The following Split EIP will refer to a custom thread pool, and therefore 
VertX is not in use, and Camel will
-use the custom thread pool:
-
-._Java-only: split with a custom thread pool profile (not using VertX)_
-[source,java]
-----
-// register a custom thread pool profile with id myLowPool
-context.getExecutorServiceManager().registerThreadPoolProfile(
-    new 
ThreadPoolProfileBuilder("myLowPool").poolSize(2).maxPoolSize(10).build()
-);
-
-from("direct:start")
-    .to("log:foo")
-    .split(body()).executorService("myLowPool")
-        .to("mock:split")
-    .end()
-    .to("mock:result");
-----
-
-== VertX instance
-
-This implementation will first look up in the registry for an existing 
`io.vertx.core.Vertx` to be used.
-However, you can configure an existing instance using the getter/setter on the 
`VertXThreadPoolFactory` class.
-
-== Auto-detection from classpath
-
-To use this implementation all you need to do is to add the 
`camel-threadpoolfactory-vertx` dependency to the classpath,
-and Camel should auto-detect this on startup and log as follows:
-
-[source,text]
-----
-Using ThreadPoolFactory: camel-threadpoolfactory-vertx
-----
diff --git 
a/components/camel-threadpoolfactory-vertx/src/main/java/org/apache/camel/reactive/vertx/VertXThreadPoolFactory.java
 
b/components/camel-threadpoolfactory-vertx/src/main/java/org/apache/camel/reactive/vertx/VertXThreadPoolFactory.java
deleted file mode 100644
index da27d2c3f5dd..000000000000
--- 
a/components/camel-threadpoolfactory-vertx/src/main/java/org/apache/camel/reactive/vertx/VertXThreadPoolFactory.java
+++ /dev/null
@@ -1,175 +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.reactive.vertx;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
-import java.util.concurrent.Callable;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
-import io.vertx.core.Vertx;
-import org.apache.camel.spi.SimpleExecutorService;
-import org.apache.camel.spi.ThreadPoolFactory;
-import org.apache.camel.spi.ThreadPoolProfile;
-import org.apache.camel.spi.annotations.JdkService;
-import org.apache.camel.support.DefaultThreadPoolFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@Deprecated(since = "4.21.0")
-@JdkService(ThreadPoolFactory.FACTORY)
-public class VertXThreadPoolFactory extends DefaultThreadPoolFactory 
implements ThreadPoolFactory {
-
-    private static final Logger LOG = 
LoggerFactory.getLogger(VertXThreadPoolFactory.class);
-
-    private final ExecutorService vertxExecutorService = new 
VertXExecutorService();
-    private Vertx vertx;
-
-    public Vertx getVertx() {
-        return vertx;
-    }
-
-    /**
-     * To use an existing instance of {@link Vertx} instead of creating a 
default instance.
-     */
-    public void setVertx(Vertx vertx) {
-        this.vertx = vertx;
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        super.doStart();
-        if (vertx == null) {
-            Set<Vertx> set = 
getCamelContext().getRegistry().findByType(Vertx.class);
-            if (set.size() == 1) {
-                vertx = set.iterator().next();
-            }
-        }
-        if (vertx == null) {
-            throw new IllegalArgumentException("VertX instance must be 
configured.");
-        }
-    }
-
-    @Override
-    public ExecutorService newThreadPool(ThreadPoolProfile profile, 
ThreadFactory threadFactory) {
-        // only do this for default profile (which mean its not a custom pool)
-        if (profile.isDefaultProfile()) {
-            return vertxExecutorService;
-        } else {
-            return super.newThreadPool(profile, threadFactory);
-        }
-    }
-
-    @Override
-    public ExecutorService newCachedThreadPool(ThreadFactory threadFactory) {
-        return vertxExecutorService;
-    }
-
-    @Override
-    public String toString() {
-        return "camel-threadpoolfactory-vertx";
-    }
-
-    private class VertXExecutorService implements ExecutorService, 
SimpleExecutorService {
-
-        @Override
-        public void shutdown() {
-            // noop
-        }
-
-        @Override
-        public List<Runnable> shutdownNow() {
-            // noop
-            return null;
-        }
-
-        @Override
-        public boolean isShutdown() {
-            return false;
-        }
-
-        @Override
-        public boolean isTerminated() {
-            return false;
-        }
-
-        @Override
-        public boolean awaitTermination(long timeout, TimeUnit unit) throws 
InterruptedException {
-            return false;
-        }
-
-        @Override
-        public <T> Future<T> submit(Callable<T> task) {
-            return null;
-        }
-
-        @Override
-        public <T> Future<T> submit(Runnable task, T result) {
-            return null;
-        }
-
-        @Override
-        public Future<?> submit(Runnable task) {
-            LOG.trace("submit: {}", task);
-            final CompletableFuture<?> answer = new CompletableFuture<>();
-            // used by vertx
-            vertx.executeBlocking(() -> {
-                task.run();
-                return null;
-            }).onComplete(res -> answer.complete(null));
-            return answer;
-        }
-
-        @Override
-        public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> 
tasks) throws InterruptedException {
-            return null;
-        }
-
-        @Override
-        public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> 
tasks, long timeout, TimeUnit unit)
-                throws InterruptedException {
-            return null;
-        }
-
-        @Override
-        public <T> T invokeAny(Collection<? extends Callable<T>> tasks) throws 
InterruptedException, ExecutionException {
-            return null;
-        }
-
-        @Override
-        public <T> T invokeAny(Collection<? extends Callable<T>> tasks, long 
timeout, TimeUnit unit)
-                throws InterruptedException, ExecutionException, 
TimeoutException {
-            return null;
-        }
-
-        @Override
-        public void execute(Runnable command) {
-            LOG.trace("execute: {}", command);
-            // used by vertx
-            vertx.executeBlocking(Executors.callable(command));
-        }
-    }
-
-}
diff --git 
a/components/camel-threadpoolfactory-vertx/src/test/java/org/apache/camel/reactive/SplitCustomThreadPoolTest.java
 
b/components/camel-threadpoolfactory-vertx/src/test/java/org/apache/camel/reactive/SplitCustomThreadPoolTest.java
deleted file mode 100644
index ec60bc476b41..000000000000
--- 
a/components/camel-threadpoolfactory-vertx/src/test/java/org/apache/camel/reactive/SplitCustomThreadPoolTest.java
+++ /dev/null
@@ -1,80 +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.reactive;
-
-import io.vertx.core.Vertx;
-import org.apache.camel.CamelContext;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.builder.ThreadPoolProfileBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.reactive.vertx.VertXThreadPoolFactory;
-import org.apache.camel.test.junit6.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class SplitCustomThreadPoolTest extends CamelTestSupport {
-
-    private final Vertx vertx = Vertx.vertx();
-
-    @Override
-    protected CamelContext createCamelContext() throws Exception {
-        CamelContext context = super.createCamelContext();
-
-        VertXThreadPoolFactory tpf = (VertXThreadPoolFactory) 
context.getExecutorServiceManager().getThreadPoolFactory();
-        tpf.setVertx(vertx);
-
-        return context;
-    }
-
-    @Test
-    public void testSplit() throws Exception {
-        
getMockEndpoint("mock:result").expectedBodiesReceived("A,B,C,D,E,F,G,H,I,J");
-        getMockEndpoint("mock:split").expectedBodiesReceivedInAnyOrder("A", 
"B", "C", "D", "E", "F", "G", "H", "I", "J");
-
-        template.sendBody("direct:start", "A,B,C,D,E,F,G,H,I,J");
-
-        MockEndpoint.assertIsSatisfied(context);
-
-        vertx.close();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            @Override
-            public void configure() {
-                // register a custom thread pool profile with id myLowPool
-                context.getExecutorServiceManager().registerThreadPoolProfile(
-                        new 
ThreadPoolProfileBuilder("myLowPool").poolSize(2).maxPoolSize(10).build());
-
-                from("direct:start")
-                        .to("log:foo")
-                        .split(body()).executorService("myLowPool")
-                        .to("log:bar")
-                        .process(e -> {
-                            String name = Thread.currentThread().getName();
-                            assertTrue(name.startsWith("Camel"), "Should use 
Camel thread");
-                        })
-                        .to("mock:split")
-                        .end()
-                        .to("log:result")
-                        .to("mock:result");
-            }
-        };
-    }
-}
diff --git 
a/components/camel-threadpoolfactory-vertx/src/test/java/org/apache/camel/reactive/SplitParallelLookupVertxTest.java
 
b/components/camel-threadpoolfactory-vertx/src/test/java/org/apache/camel/reactive/SplitParallelLookupVertxTest.java
deleted file mode 100644
index 4e68eeadcdc8..000000000000
--- 
a/components/camel-threadpoolfactory-vertx/src/test/java/org/apache/camel/reactive/SplitParallelLookupVertxTest.java
+++ /dev/null
@@ -1,71 +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.reactive;
-
-import io.vertx.core.Vertx;
-import org.apache.camel.CamelContext;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit6.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class SplitParallelLookupVertxTest extends CamelTestSupport {
-
-    private final Vertx vertx = Vertx.vertx();
-
-    @Override
-    protected CamelContext createCamelContext() throws Exception {
-        CamelContext context = super.createCamelContext();
-        context.getRegistry().bind("vertx", vertx);
-        return context;
-    }
-
-    @Test
-    public void testSplit() throws Exception {
-        
getMockEndpoint("mock:result").expectedBodiesReceived("A,B,C,D,E,F,G,H,I,J");
-        getMockEndpoint("mock:split").expectedBodiesReceivedInAnyOrder("A", 
"B", "C", "D", "E", "F", "G", "H", "I", "J");
-
-        template.sendBody("direct:start", "A,B,C,D,E,F,G,H,I,J");
-
-        MockEndpoint.assertIsSatisfied(context);
-
-        vertx.close();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            @Override
-            public void configure() {
-                from("direct:start")
-                        .to("log:foo")
-                        .split(body()).parallelProcessing()
-                        .to("log:bar")
-                        .process(e -> {
-                            String name = Thread.currentThread().getName();
-                            
assertTrue(name.startsWith("vert.x-worker-thread"), "Should use vertx thread");
-                        })
-                        .to("mock:split")
-                        .end()
-                        .to("log:result")
-                        .to("mock:result");
-            }
-        };
-    }
-}
diff --git 
a/components/camel-threadpoolfactory-vertx/src/test/java/org/apache/camel/reactive/SplitParallelTest.java
 
b/components/camel-threadpoolfactory-vertx/src/test/java/org/apache/camel/reactive/SplitParallelTest.java
deleted file mode 100644
index dbca4692094c..000000000000
--- 
a/components/camel-threadpoolfactory-vertx/src/test/java/org/apache/camel/reactive/SplitParallelTest.java
+++ /dev/null
@@ -1,75 +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.reactive;
-
-import io.vertx.core.Vertx;
-import org.apache.camel.CamelContext;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.reactive.vertx.VertXThreadPoolFactory;
-import org.apache.camel.test.junit6.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class SplitParallelTest extends CamelTestSupport {
-
-    private final Vertx vertx = Vertx.vertx();
-
-    @Override
-    protected CamelContext createCamelContext() throws Exception {
-        CamelContext context = super.createCamelContext();
-
-        VertXThreadPoolFactory tpf = (VertXThreadPoolFactory) 
context.getExecutorServiceManager().getThreadPoolFactory();
-        tpf.setVertx(vertx);
-
-        return context;
-    }
-
-    @Test
-    public void testSplit() throws Exception {
-        
getMockEndpoint("mock:result").expectedBodiesReceived("A,B,C,D,E,F,G,H,I,J");
-        getMockEndpoint("mock:split").expectedBodiesReceivedInAnyOrder("A", 
"B", "C", "D", "E", "F", "G", "H", "I", "J");
-
-        template.sendBody("direct:start", "A,B,C,D,E,F,G,H,I,J");
-
-        MockEndpoint.assertIsSatisfied(context);
-
-        vertx.close();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            @Override
-            public void configure() {
-                from("direct:start")
-                        .to("log:foo")
-                        .split(body()).parallelProcessing()
-                        .to("log:bar")
-                        .process(e -> {
-                            String name = Thread.currentThread().getName();
-                            
assertTrue(name.startsWith("vert.x-worker-thread"), "Should use vertx thread");
-                        })
-                        .to("mock:split")
-                        .end()
-                        .to("log:result")
-                        .to("mock:result");
-            }
-        };
-    }
-}
diff --git 
a/components/camel-threadpoolfactory-vertx/src/test/resources/log4j2.properties 
b/components/camel-threadpoolfactory-vertx/src/test/resources/log4j2.properties
deleted file mode 100644
index b06ea9506472..000000000000
--- 
a/components/camel-threadpoolfactory-vertx/src/test/resources/log4j2.properties
+++ /dev/null
@@ -1,31 +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.
-## ---------------------------------------------------------------------------
-
-appender.out.type = File
-appender.out.name = out
-appender.out.fileName = target/camel-threadpoolfactory-vertx.log
-appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-appender.stdout.type = Console
-appender.stdout.name = stdout
-appender.stdout.layout.type = PatternLayout
-appender.stdout.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-
-rootLogger.level = INFO
-
-rootLogger.appenderRef.out.ref = out
-#rootLogger.appenderRef.out.ref = stdout
diff --git a/components/pom.xml b/components/pom.xml
index 93dc6593a02e..690fb2e60fa9 100644
--- a/components/pom.xml
+++ b/components/pom.xml
@@ -324,7 +324,6 @@
         <module>camel-tarfile</module>
         <module>camel-telegram</module>
         <module>camel-telemetry-dev</module>
-        <module>camel-threadpoolfactory-vertx</module>
         <module>camel-thrift</module>
         <module>camel-thymeleaf</module>
         <module>camel-tika</module>
diff --git a/coverage/pom.xml b/coverage/pom.xml
index c948ce754bf5..421dff3f0ed4 100644
--- a/coverage/pom.xml
+++ b/coverage/pom.xml
@@ -2223,11 +2223,6 @@
             <artifactId>camel-test-spring-junit6</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-threadpoolfactory-vertx</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-thrift</artifactId>
diff --git 
a/docs/components/modules/others/examples/json/threadpoolfactory-vertx.json 
b/docs/components/modules/others/examples/json/threadpoolfactory-vertx.json
deleted file mode 120000
index 13f1a15e91fa..000000000000
--- a/docs/components/modules/others/examples/json/threadpoolfactory-vertx.json
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../components/camel-threadpoolfactory-vertx/src/generated/resources/threadpoolfactory-vertx.json
\ No newline at end of file
diff --git a/docs/components/modules/others/nav.adoc 
b/docs/components/modules/others/nav.adoc
index e8fc25169a7a..fa4f4c68ba12 100644
--- a/docs/components/modules/others/nav.adoc
+++ b/docs/components/modules/others/nav.adoc
@@ -100,7 +100,6 @@
 ** xref:test-main-junit6.adoc[Test Main JUnit6]
 ** xref:test-spring-junit5.adoc[Test Spring JUnit5]
 ** xref:test-spring-junit6.adoc[Test Spring JUnit6]
-** xref:threadpoolfactory-vertx.adoc[ThreadPoolFactory Vert.x]
 ** xref:tracing.adoc[Tracing]
 ** xref:undertow-spring-security.adoc[Undertow Spring Security]
 ** xref:wal.adoc[Write Ahead Log Strategy for Resume API]
diff --git a/docs/components/modules/others/pages/threadpoolfactory-vertx.adoc 
b/docs/components/modules/others/pages/threadpoolfactory-vertx.adoc
deleted file mode 120000
index f66c67cd7e30..000000000000
--- a/docs/components/modules/others/pages/threadpoolfactory-vertx.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-threadpoolfactory-vertx/src/main/docs/threadpoolfactory-vertx.adoc
\ No newline at end of file
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc
index 8a18f4ec7aa1..a66d34c909fe 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc
@@ -49,6 +49,10 @@ this executor is functionally identical to the built-in 
`DefaultReactiveExecutor
 To migrate, remove the `camel-reactive-executor-tomcat` dependency from your 
project. Camel will
 automatically use the default reactive executor.
 
+==== camel-threadpoolfactory-vertx
+
+The component camel-threadpoolfactory-vertx was deprecated in 4.21. The 
component has been in an experimental state for a long time and no user 
feedback has been received to justify continued maintenance.
+
 ==== camel-zeebe
 
 `camel-zeebe` component was deprecated in 4.19 and has a straightforward 
replacement with `camel-camunda`. It is removed in 4.23.
diff --git a/dsl/camel-componentdsl/pom.xml b/dsl/camel-componentdsl/pom.xml
index 8318f4e7d6c1..4cc942041f03 100644
--- a/dsl/camel-componentdsl/pom.xml
+++ b/dsl/camel-componentdsl/pom.xml
@@ -73,10 +73,6 @@
                     <groupId>org.apache.camel</groupId>
                     <artifactId>camel-reactive-executor-vertx</artifactId>
                 </exclusion>
-                <exclusion>
-                    <groupId>org.apache.camel</groupId>
-                    <artifactId>camel-threadpoolfactory-vertx</artifactId>
-                </exclusion>
                 <exclusion>
                     <groupId>org.apache.camel</groupId>
                     <artifactId>camel-microprofile-config</artifactId>
diff --git a/dsl/camel-endpointdsl/pom.xml b/dsl/camel-endpointdsl/pom.xml
index fab0566c7864..17b3fc3b7e2e 100644
--- a/dsl/camel-endpointdsl/pom.xml
+++ b/dsl/camel-endpointdsl/pom.xml
@@ -79,10 +79,6 @@
                     <groupId>org.apache.camel</groupId>
                     <artifactId>camel-reactive-executor-vertx</artifactId>
                 </exclusion>
-                <exclusion>
-                    <groupId>org.apache.camel</groupId>
-                    <artifactId>camel-threadpoolfactory-vertx</artifactId>
-                </exclusion>
                 <exclusion>
                     <groupId>org.apache.camel</groupId>
                     <artifactId>camel-microprofile-config</artifactId>
diff --git a/parent/pom.xml b/parent/pom.xml
index 0e9740a379c5..ec7ced73c6fb 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -2924,11 +2924,6 @@
                 <artifactId>camel-test-spring-junit6</artifactId>
                 <version>${project.version}</version>
             </dependency>
-            <dependency>
-                <groupId>org.apache.camel</groupId>
-                <artifactId>camel-threadpoolfactory-vertx</artifactId>
-                <version>${project.version}</version>
-            </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
                 <artifactId>camel-thrift</artifactId>
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareDocSymlinksMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareDocSymlinksMojo.java
index e44ea4b16ce6..102f6f1d46c2 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareDocSymlinksMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareDocSymlinksMojo.java
@@ -695,7 +695,7 @@ public class PrepareDocSymlinksMojo extends AbstractMojo {
                         "dsl/*/*/src/main/docs/*.adoc"),
                 nonComponentSuffixExcludes,
                 "docs/components/modules/others/pages",
-                List.of("index.adoc", 
"reactive-threadpoolfactory-vertx.adoc"), null, null);
+                List.of("index.adoc"), null, null);
         others.json = new KindSpec(
                 // gulp used 
`components/{*,*/*,*/*/*}/src/generated/resources/*.json` — only top-level .json
                 // files (i.e. those NOT under META-INF/...) qualify as 
"other" component metadata.

Reply via email to