You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/03/12 09:11:07 UTC

[camel] 01/03: CAMEL-19132: Deprecate vm and direct-vm and remove in v4

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

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

commit 659016bcc00061191e400d73542ef30f8ca94e29
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Mar 12 10:00:44 2023 +0100

    CAMEL-19132: Deprecate vm and direct-vm and remove in v4
---
 bom/camel-bom/pom.xml                              |   5 -
 catalog/camel-allcomponents/pom.xml                |   5 -
 .../org/apache/camel/catalog/components.properties |   1 -
 .../org/apache/camel/catalog/components/vm.json    |  57 --
 .../org/apache/camel/catalog/others.properties     |   2 -
 .../apache/camel/catalog/others/componentdsl.json  |  15 -
 .../apache/camel/catalog/others/endpointdsl.json   |  15 -
 components/camel-test/camel-test-junit5/pom.xml    |   4 -
 components/camel-vm/pom.xml                        |  43 -
 .../camel/component/vm/VmComponentConfigurer.java  |  21 -
 .../camel/component/vm/VmEndpointConfigurer.java   |  21 -
 .../camel/component/vm/VmEndpointUriFactory.java   |  86 --
 .../services/org/apache/camel/component.properties |   7 -
 .../services/org/apache/camel/component/vm         |   2 -
 .../org/apache/camel/configurer/vm-component       |   2 -
 .../org/apache/camel/configurer/vm-endpoint        |   2 -
 .../org/apache/camel/urifactory/vm-endpoint        |   2 -
 .../org/apache/camel/component/vm/vm.json          |  57 --
 .../camel-vm/src/main/docs/vm-component.adoc       |  89 --
 .../org/apache/camel/component/vm/VmComponent.java |  96 --
 .../org/apache/camel/component/vm/VmConsumer.java  |  60 --
 .../org/apache/camel/component/vm/VmEndpoint.java  |  54 --
 .../org/apache/camel/component/vm/package.html     |  33 -
 components/pom.xml                                 |   1 -
 core/camel-core/pom.xml                            |   4 -
 .../apache/camel/component/stub/StubAwsTest.java   |   1 -
 .../camel/component/stub/StubConsumerTest.java     |   1 -
 .../camel/component/stub/StubInOnlyTest.java       |   1 -
 .../apache/camel/component/stub/StubInOutTest.java |   1 -
 .../camel/component/stub/StubShadowTest.java       |   1 -
 .../org/apache/camel/component/stub/StubTest.java  |   1 -
 .../engine/DefaultComponentNameResolverTest.java   |   2 +-
 ...derExactlyDoneSplitterWhereSentToIssueTest.java |   1 -
 .../model/StartingRoutesErrorReportedTest.java     |   1 -
 .../RecipientListExchangePatternOptionTest.java    |   1 -
 .../processor/SendExchangePatternOptionTest.java   |   1 -
 .../camel/processor/StreamCachingInOutTest.java    |   1 -
 ...nterceptSendToEndpointNormalizePatternTest.java |   1 -
 .../org/apache/camel/main/components.properties    |   1 -
 docs/components/modules/ROOT/examples/json/vm.json |   1 -
 docs/components/modules/ROOT/nav.adoc              |   1 -
 .../modules/ROOT/pages/vm-component.adoc           |   1 -
 .../ROOT/pages/camel-4-migration-guide.adoc        |   1 +
 .../component/ComponentsBuilderFactory.java        |  13 -
 .../component/dsl/VmComponentBuilderFactory.java   | 270 ------
 .../src/generated/resources/metadata.json          |  22 -
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 -
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 -
 .../builder/endpoint/StaticEndpointBuilders.java   |  43 -
 .../endpoint/dsl/VmEndpointBuilderFactory.java     | 963 ---------------------
 .../camel-component-known-dependencies.properties  |   1 -
 parent/pom.xml                                     |   5 -
 52 files changed, 2 insertions(+), 2020 deletions(-)

diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index c476143243e..64d72e213f5 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -1952,11 +1952,6 @@
         <artifactId>camel-vertx-websocket</artifactId>
         <version>${project.version}</version>
       </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-vm</artifactId>
-        <version>${project.version}</version>
-      </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
         <artifactId>camel-wal</artifactId>
diff --git a/catalog/camel-allcomponents/pom.xml b/catalog/camel-allcomponents/pom.xml
index a0d259a6578..9b0fcaca661 100644
--- a/catalog/camel-allcomponents/pom.xml
+++ b/catalog/camel-allcomponents/pom.xml
@@ -1708,11 +1708,6 @@
             <artifactId>camel-vertx-websocket</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-vm</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-wal</artifactId>
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
index eac65774df1..6b677801d0c 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
@@ -306,7 +306,6 @@ velocity
 vertx
 vertx-http
 vertx-websocket
-vm
 weather
 web3j
 webhook
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/vm.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/vm.json
deleted file mode 100644
index e7c9cef4162..00000000000
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/vm.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "name": "vm",
-    "title": "VM",
-    "description": "Call another endpoint in the same CamelContext asynchronously.",
-    "deprecated": false,
-    "firstVersion": "1.1.0",
-    "label": "core,endpoint",
-    "javaType": "org.apache.camel.component.vm.VmComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-vm",
-    "version": "4.0.0-SNAPSHOT",
-    "scheme": "vm",
-    "extendsScheme": "",
-    "syntax": "vm:name",
-    "async": true,
-    "api": false,
-    "consumerOnly": false,
-    "producerOnly": false,
-    "lenientProperties": false
-  },
-  "componentProperties": {
-    "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a me [...]
-    "concurrentConsumers": { "kind": "property", "displayName": "Concurrent Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "Sets the default number of concurrent threads processing exchanges." },
-    "defaultPollTimeout": { "kind": "property", "displayName": "Default Poll Timeout", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "The timeout (in milliseconds) used when polling. When a timeout occurs, the consumer can check whether it is allowed to continue running. Setting a lower value allows the consumer to react m [...]
-    "defaultBlockWhenFull": { "kind": "property", "displayName": "Default Block When Full", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted. By default, an exception will be thrown stating that the queue is full. By enabl [...]
-    "defaultDiscardWhenFull": { "kind": "property", "displayName": "Default Discard When Full", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether a thread that sends messages to a full SEDA queue will be discarded. By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread wil [...]
-    "defaultOfferTimeout": { "kind": "property", "displayName": "Default Offer Timeout", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "description": "Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted. By default, an exception will be thrown stating that the queue is full. By enabling this option, where a conf [...]
-    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
-    "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
-    "defaultQueueFactory": { "kind": "property", "displayName": "Default Queue Factory", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.seda.BlockingQueueFactory<org.apache.camel.Exchange>", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the default queue factory." },
-    "queueSize": { "kind": "property", "displayName": "Queue Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Sets the default maximum capacity of the SEDA queue (i.e., the number of messages it can hold)." }
-  },
-  "properties": {
-    "name": { "kind": "path", "displayName": "Name", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Name of queue" },
-    "size": { "kind": "parameter", "displayName": "Size", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "The maximum capacity of the SEDA queue (i.e., the number of messages it can hold). Will by default use the defaultSize set on the SEDA component." },
-    "concurrentConsumers": { "kind": "parameter", "displayName": "Concurrent Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "Number of concurrent threads processing exchanges." },
-    "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now [...]
-    "exceptionHandler": { "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the con [...]
-    "exchangePattern": { "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
-    "limitConcurrentConsumers": { "kind": "parameter", "displayName": "Limit Concurrent Consumers", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to limit the number of concurrentConsumers to the maximum of 500. By default, an exception will be thrown if an endpoint is configured with a greater number. You can [...]
-    "multipleConsumers": { "kind": "parameter", "displayName": "Multiple Consumers", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Specifies whether multiple consumers are allowed. If enabled, you can use SEDA for Publish-Subscribe messaging. That is, you can send a message to the SEDA queue and have each consumer re [...]
-    "pollTimeout": { "kind": "parameter", "displayName": "Poll Timeout", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "The timeout (in milliseconds) used when polling. When a timeout occurs, the consumer can check whether it is allowed to continue running. Setting a lower value allows the consumer to react more quickly up [...]
-    "purgeWhenStopping": { "kind": "parameter", "displayName": "Purge When Stopping", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to purge the task queue when stopping the consumer\/route. This allows to stop faster, as any pending messages on the queue is discarded." },
-    "blockWhenFull": { "kind": "parameter", "displayName": "Block When Full", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted. By default, an exception will be thrown stating that the queue is full. By enabling this optio [...]
-    "discardIfNoConsumers": { "kind": "parameter", "displayName": "Discard If No Consumers", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should discard the message (do not add the message to the queue), when sending to a queue with no active consumers. Only one of the options discardIfNoConsumers and failIfNoConsu [...]
-    "discardWhenFull": { "kind": "parameter", "displayName": "Discard When Full", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether a thread that sends messages to a full SEDA queue will be discarded. By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread will give up send [...]
-    "failIfNoConsumers": { "kind": "parameter", "displayName": "Fail If No Consumers", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should fail by throwing an exception, when sending to a queue with no active consumers. Only one of the options discardIfNoConsumers and failIfNoConsumers can be enabled at the same time." },
-    "offerTimeout": { "kind": "parameter", "displayName": "Offer Timeout", "group": "producer", "label": "producer", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "description": "Offer timeout (in milliseconds) can be added to the block case when queue is full. You can disable timeout by using 0 or a negative value." },
-    "timeout": { "kind": "parameter", "displayName": "Timeout", "group": "producer", "label": "producer", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "description": "Timeout (in milliseconds) before a SEDA producer will stop waiting for an asynchronous task to complete. You can disable timeout by using 0 or a negative value." },
-    "waitForTaskToComplete": { "kind": "parameter", "displayName": "Wait For Task To Complete", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.WaitForTaskToComplete", "enum": [ "Never", "IfReplyExpected", "Always" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "IfReplyExpected", "description": "Option to specify whether the caller should wait for the async task to complete or not before continuing [...]
-    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may other [...]
-    "queue": { "kind": "parameter", "displayName": "Queue", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.concurrent.BlockingQueue", "deprecated": false, "autowired": false, "secret": false, "description": "Define the queue instance which will be used by the endpoint" }
-  }
-}
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 1b55e098314..93254bd6ecd 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
@@ -4,14 +4,12 @@ cli-connector
 cloud
 cloudevents
 cluster
-componentdsl
 console
 csimple-joor
 debug
 dsl-modeline
 dsl-support
 elytron
-endpointdsl
 groovy-dsl
 headersmap
 health
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/componentdsl.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/componentdsl.json
deleted file mode 100644
index 3799e772735..00000000000
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/componentdsl.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-  "other": {
-    "kind": "other",
-    "name": "componentdsl",
-    "title": "Java Component DSL",
-    "description": "The Camel Component DSL",
-    "deprecated": false,
-    "firstVersion": "3.1.0",
-    "label": "dsl",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-componentdsl",
-    "version": "4.0.0-SNAPSHOT"
-  }
-}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/endpointdsl.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/endpointdsl.json
deleted file mode 100644
index cea1951ad69..00000000000
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/endpointdsl.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-  "other": {
-    "kind": "other",
-    "name": "endpointdsl",
-    "title": "Java Endpoint DSL",
-    "description": "The Camel Endpoint DSL",
-    "deprecated": false,
-    "firstVersion": "3.0.0",
-    "label": "dsl",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-endpointdsl",
-    "version": "4.0.0-SNAPSHOT"
-  }
-}
diff --git a/components/camel-test/camel-test-junit5/pom.xml b/components/camel-test/camel-test-junit5/pom.xml
index 9eac28566e2..cc3bd33adbd 100644
--- a/components/camel-test/camel-test-junit5/pom.xml
+++ b/components/camel-test/camel-test-junit5/pom.xml
@@ -130,10 +130,6 @@
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-validator</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-vm</artifactId>
-        </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-xpath</artifactId>
diff --git a/components/camel-vm/pom.xml b/components/camel-vm/pom.xml
deleted file mode 100644
index b083f8f8ed2..00000000000
--- a/components/camel-vm/pom.xml
+++ /dev/null
@@ -1,43 +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/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>components</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>camel-vm</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Camel :: VM</name>
-    <description>Camel VM component</description>
-
-    <dependencies>
-
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-seda</artifactId>
-        </dependency>
-
-    </dependencies>
-</project>
diff --git a/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmComponentConfigurer.java b/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmComponentConfigurer.java
deleted file mode 100644
index 865f860d194..00000000000
--- a/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmComponentConfigurer.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.vm;
-
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
-import org.apache.camel.spi.PropertyConfigurerGetter;
-import org.apache.camel.spi.ConfigurerStrategy;
-import org.apache.camel.spi.GeneratedPropertyConfigurer;
-import org.apache.camel.util.CaseInsensitiveMap;
-import org.apache.camel.component.seda.SedaComponentConfigurer;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@SuppressWarnings("unchecked")
-public class VmComponentConfigurer extends SedaComponentConfigurer implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
-
-}
-
diff --git a/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmEndpointConfigurer.java b/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmEndpointConfigurer.java
deleted file mode 100644
index 53107388b0f..00000000000
--- a/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmEndpointConfigurer.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.vm;
-
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
-import org.apache.camel.spi.PropertyConfigurerGetter;
-import org.apache.camel.spi.ConfigurerStrategy;
-import org.apache.camel.spi.GeneratedPropertyConfigurer;
-import org.apache.camel.util.CaseInsensitiveMap;
-import org.apache.camel.component.seda.SedaEndpointConfigurer;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@SuppressWarnings("unchecked")
-public class VmEndpointConfigurer extends SedaEndpointConfigurer implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
-
-}
-
diff --git a/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmEndpointUriFactory.java b/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmEndpointUriFactory.java
deleted file mode 100644
index 1802695be69..00000000000
--- a/components/camel-vm/src/generated/java/org/apache/camel/component/vm/VmEndpointUriFactory.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.vm;
-
-import java.net.URISyntaxException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.camel.spi.EndpointUriFactory;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-public class VmEndpointUriFactory extends org.apache.camel.support.component.EndpointUriFactorySupport implements EndpointUriFactory {
-
-    private static final String BASE = ":name";
-
-    private static final Set<String> PROPERTY_NAMES;
-    private static final Set<String> SECRET_PROPERTY_NAMES;
-    private static final Set<String> MULTI_VALUE_PREFIXES;
-    static {
-        Set<String> props = new HashSet<>(19);
-        props.add("blockWhenFull");
-        props.add("bridgeErrorHandler");
-        props.add("concurrentConsumers");
-        props.add("discardIfNoConsumers");
-        props.add("discardWhenFull");
-        props.add("exceptionHandler");
-        props.add("exchangePattern");
-        props.add("failIfNoConsumers");
-        props.add("lazyStartProducer");
-        props.add("limitConcurrentConsumers");
-        props.add("multipleConsumers");
-        props.add("name");
-        props.add("offerTimeout");
-        props.add("pollTimeout");
-        props.add("purgeWhenStopping");
-        props.add("queue");
-        props.add("size");
-        props.add("timeout");
-        props.add("waitForTaskToComplete");
-        PROPERTY_NAMES = Collections.unmodifiableSet(props);
-        SECRET_PROPERTY_NAMES = Collections.emptySet();
-        MULTI_VALUE_PREFIXES = Collections.emptySet();
-    }
-
-    @Override
-    public boolean isEnabled(String scheme) {
-        return "vm".equals(scheme);
-    }
-
-    @Override
-    public String buildUri(String scheme, Map<String, Object> properties, boolean encode) throws URISyntaxException {
-        String syntax = scheme + BASE;
-        String uri = syntax;
-
-        Map<String, Object> copy = new HashMap<>(properties);
-
-        uri = buildPathParameter(syntax, uri, "name", null, true, copy);
-        uri = buildQueryParameters(uri, copy, encode);
-        return uri;
-    }
-
-    @Override
-    public Set<String> propertyNames() {
-        return PROPERTY_NAMES;
-    }
-
-    @Override
-    public Set<String> secretPropertyNames() {
-        return SECRET_PROPERTY_NAMES;
-    }
-
-    @Override
-    public Set<String> multiValuePrefixes() {
-        return MULTI_VALUE_PREFIXES;
-    }
-
-    @Override
-    public boolean isLenientProperties() {
-        return false;
-    }
-}
-
diff --git a/components/camel-vm/src/generated/resources/META-INF/services/org/apache/camel/component.properties b/components/camel-vm/src/generated/resources/META-INF/services/org/apache/camel/component.properties
deleted file mode 100644
index 98d760dee26..00000000000
--- a/components/camel-vm/src/generated/resources/META-INF/services/org/apache/camel/component.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-components=vm
-groupId=org.apache.camel
-artifactId=camel-vm
-version=4.0.0-SNAPSHOT
-projectName=Camel :: VM
-projectDescription=Camel VM component
diff --git a/components/camel-vm/src/generated/resources/META-INF/services/org/apache/camel/component/vm b/components/camel-vm/src/generated/resources/META-INF/services/org/apache/camel/component/vm
deleted file mode 100644
index b2ed809cbfe..00000000000
--- a/components/camel-vm/src/generated/resources/META-INF/services/org/apache/camel/component/vm
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.vm.VmComponent
diff --git a/components/camel-vm/src/generated/resources/META-INF/services/org/apache/camel/configurer/vm-component b/components/camel-vm/src/generated/resources/META-INF/services/org/apache/camel/configurer/vm-component
deleted file mode 100644
index 5c5d652b5fc..00000000000
--- a/components/camel-vm/src/generated/resources/META-INF/services/org/apache/camel/configurer/vm-component
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.vm.VmComponentConfigurer
diff --git a/components/camel-vm/src/generated/resources/META-INF/services/org/apache/camel/configurer/vm-endpoint b/components/camel-vm/src/generated/resources/META-INF/services/org/apache/camel/configurer/vm-endpoint
deleted file mode 100644
index 55a8f2f13c9..00000000000
--- a/components/camel-vm/src/generated/resources/META-INF/services/org/apache/camel/configurer/vm-endpoint
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.vm.VmEndpointConfigurer
diff --git a/components/camel-vm/src/generated/resources/META-INF/services/org/apache/camel/urifactory/vm-endpoint b/components/camel-vm/src/generated/resources/META-INF/services/org/apache/camel/urifactory/vm-endpoint
deleted file mode 100644
index 7f5a7948b89..00000000000
--- a/components/camel-vm/src/generated/resources/META-INF/services/org/apache/camel/urifactory/vm-endpoint
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.vm.VmEndpointUriFactory
diff --git a/components/camel-vm/src/generated/resources/org/apache/camel/component/vm/vm.json b/components/camel-vm/src/generated/resources/org/apache/camel/component/vm/vm.json
deleted file mode 100644
index e7c9cef4162..00000000000
--- a/components/camel-vm/src/generated/resources/org/apache/camel/component/vm/vm.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "name": "vm",
-    "title": "VM",
-    "description": "Call another endpoint in the same CamelContext asynchronously.",
-    "deprecated": false,
-    "firstVersion": "1.1.0",
-    "label": "core,endpoint",
-    "javaType": "org.apache.camel.component.vm.VmComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-vm",
-    "version": "4.0.0-SNAPSHOT",
-    "scheme": "vm",
-    "extendsScheme": "",
-    "syntax": "vm:name",
-    "async": true,
-    "api": false,
-    "consumerOnly": false,
-    "producerOnly": false,
-    "lenientProperties": false
-  },
-  "componentProperties": {
-    "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a me [...]
-    "concurrentConsumers": { "kind": "property", "displayName": "Concurrent Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "Sets the default number of concurrent threads processing exchanges." },
-    "defaultPollTimeout": { "kind": "property", "displayName": "Default Poll Timeout", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "The timeout (in milliseconds) used when polling. When a timeout occurs, the consumer can check whether it is allowed to continue running. Setting a lower value allows the consumer to react m [...]
-    "defaultBlockWhenFull": { "kind": "property", "displayName": "Default Block When Full", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted. By default, an exception will be thrown stating that the queue is full. By enabl [...]
-    "defaultDiscardWhenFull": { "kind": "property", "displayName": "Default Discard When Full", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether a thread that sends messages to a full SEDA queue will be discarded. By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread wil [...]
-    "defaultOfferTimeout": { "kind": "property", "displayName": "Default Offer Timeout", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "description": "Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted. By default, an exception will be thrown stating that the queue is full. By enabling this option, where a conf [...]
-    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
-    "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
-    "defaultQueueFactory": { "kind": "property", "displayName": "Default Queue Factory", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.seda.BlockingQueueFactory<org.apache.camel.Exchange>", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the default queue factory." },
-    "queueSize": { "kind": "property", "displayName": "Queue Size", "group": "advanced", "label": "advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "Sets the default maximum capacity of the SEDA queue (i.e., the number of messages it can hold)." }
-  },
-  "properties": {
-    "name": { "kind": "path", "displayName": "Name", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Name of queue" },
-    "size": { "kind": "parameter", "displayName": "Size", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "The maximum capacity of the SEDA queue (i.e., the number of messages it can hold). Will by default use the defaultSize set on the SEDA component." },
-    "concurrentConsumers": { "kind": "parameter", "displayName": "Concurrent Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "Number of concurrent threads processing exchanges." },
-    "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now [...]
-    "exceptionHandler": { "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the con [...]
-    "exchangePattern": { "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
-    "limitConcurrentConsumers": { "kind": "parameter", "displayName": "Limit Concurrent Consumers", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to limit the number of concurrentConsumers to the maximum of 500. By default, an exception will be thrown if an endpoint is configured with a greater number. You can [...]
-    "multipleConsumers": { "kind": "parameter", "displayName": "Multiple Consumers", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Specifies whether multiple consumers are allowed. If enabled, you can use SEDA for Publish-Subscribe messaging. That is, you can send a message to the SEDA queue and have each consumer re [...]
-    "pollTimeout": { "kind": "parameter", "displayName": "Poll Timeout", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1000, "description": "The timeout (in milliseconds) used when polling. When a timeout occurs, the consumer can check whether it is allowed to continue running. Setting a lower value allows the consumer to react more quickly up [...]
-    "purgeWhenStopping": { "kind": "parameter", "displayName": "Purge When Stopping", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to purge the task queue when stopping the consumer\/route. This allows to stop faster, as any pending messages on the queue is discarded." },
-    "blockWhenFull": { "kind": "parameter", "displayName": "Block When Full", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted. By default, an exception will be thrown stating that the queue is full. By enabling this optio [...]
-    "discardIfNoConsumers": { "kind": "parameter", "displayName": "Discard If No Consumers", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should discard the message (do not add the message to the queue), when sending to a queue with no active consumers. Only one of the options discardIfNoConsumers and failIfNoConsu [...]
-    "discardWhenFull": { "kind": "parameter", "displayName": "Discard When Full", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether a thread that sends messages to a full SEDA queue will be discarded. By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread will give up send [...]
-    "failIfNoConsumers": { "kind": "parameter", "displayName": "Fail If No Consumers", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should fail by throwing an exception, when sending to a queue with no active consumers. Only one of the options discardIfNoConsumers and failIfNoConsumers can be enabled at the same time." },
-    "offerTimeout": { "kind": "parameter", "displayName": "Offer Timeout", "group": "producer", "label": "producer", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "description": "Offer timeout (in milliseconds) can be added to the block case when queue is full. You can disable timeout by using 0 or a negative value." },
-    "timeout": { "kind": "parameter", "displayName": "Timeout", "group": "producer", "label": "producer", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30000", "description": "Timeout (in milliseconds) before a SEDA producer will stop waiting for an asynchronous task to complete. You can disable timeout by using 0 or a negative value." },
-    "waitForTaskToComplete": { "kind": "parameter", "displayName": "Wait For Task To Complete", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.WaitForTaskToComplete", "enum": [ "Never", "IfReplyExpected", "Always" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "IfReplyExpected", "description": "Option to specify whether the caller should wait for the async task to complete or not before continuing [...]
-    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may other [...]
-    "queue": { "kind": "parameter", "displayName": "Queue", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.concurrent.BlockingQueue", "deprecated": false, "autowired": false, "secret": false, "description": "Define the queue instance which will be used by the endpoint" }
-  }
-}
diff --git a/components/camel-vm/src/main/docs/vm-component.adoc b/components/camel-vm/src/main/docs/vm-component.adoc
deleted file mode 100644
index 459c27eb0dd..00000000000
--- a/components/camel-vm/src/main/docs/vm-component.adoc
+++ /dev/null
@@ -1,89 +0,0 @@
-= VM Component
-:doctitle: VM
-:shortname: vm
-:artifactid: camel-vm
-:description: Call another endpoint in the same CamelContext asynchronously.
-:since: 1.1
-:supportlevel: Stable
-:component-header: Both producer and consumer are supported
-:core:
-//Manually maintained attributes
-:camel-spring-boot-name: vm
-
-*Since Camel {since}*
-
-*{component-header}*
-
-The VM component provides asynchronous
-https://en.wikipedia.org/wiki/Staged_event-driven_architecture[SEDA] behavior, exchanging
-messages on a
-http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html[BlockingQueue]
-and invoking consumers in a separate thread pool.
-
-This component differs from the xref:seda-component.adoc[Seda] component in that
-VM supports communication across CamelContext instances - so you can use
-this mechanism to communicate across web applications (provided that
-`camel-core.jar` is on the `system/boot` classpath).
-
-VM is an extension to the xref:seda-component.adoc[Seda] component.
-
-== URI format
-
-----
-vm:queueName[?options]
-----
-
-Where *`queueName`* can be any string to uniquely identify the endpoint
-within the JVM (or at least within the classloader that loaded
-camel-core.jar)
-
-It is sufficient to list all the options for a consumer endpoint only.
-
-[source,java]
-----
-from("direct:foo").to("vm:bar");
-
-from("vm:bar?concurrentConsumers=5").to("file://output");
-----
-
-
-
-// component-configure options: START
-
-// component-configure options: END
-
-// component options: START
-include::partial$component-configure-options.adoc[]
-include::partial$component-endpoint-options.adoc[]
-// component options: END
-
-// endpoint options: START
-
-// endpoint options: END
-
-
-
-See the xref:seda-component.adoc[Seda] component for options and other important
-usage details as the same rules apply to the xref:vm-component.adoc[Vm] component.
-
-== Samples
-
-In the route below we send exchanges across CamelContext instances to a
-VM queue named `order.email`:
-
-[source,java]
-----
-from("direct:in").bean(MyOrderBean.class).to("vm:order.email");
-----
-
-And then we receive exchanges in some other Camel context (such as
-deployed in another `.war` application):
-
-[source,java]
-----
-from("vm:order.email").bean(MyOrderEmailSender.class);
-----
-
-
-
-include::spring-boot:partial$starter.adoc[]
diff --git a/components/camel-vm/src/main/java/org/apache/camel/component/vm/VmComponent.java b/components/camel-vm/src/main/java/org/apache/camel/component/vm/VmComponent.java
deleted file mode 100644
index 2b3f604981f..00000000000
--- a/components/camel-vm/src/main/java/org/apache/camel/component/vm/VmComponent.java
+++ /dev/null
@@ -1,96 +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.vm;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.apache.camel.Component;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Exchange;
-import org.apache.camel.component.seda.BlockingQueueFactory;
-import org.apache.camel.component.seda.QueueReference;
-import org.apache.camel.component.seda.SedaComponent;
-
-/**
- * The <a href="http://camel.apache.org/vm.html">VM component</a> is for asynchronous SEDA exchanges on a
- * {@link BlockingQueue} within the classloader tree containing the camel-core.jar.
- *
- * i.e. to handle communicating across CamelContext instances and possibly across web application contexts, providing
- * that camel-core.jar is on the system classpath.
- */
-@org.apache.camel.spi.annotations.Component("vm")
-public class VmComponent extends SedaComponent {
-    protected static final Map<String, QueueReference> QUEUES = new HashMap<>();
-    protected static final Map<String, VmEndpoint> ENDPOINTS = new HashMap<>();
-    private static final AtomicInteger START_COUNTER = new AtomicInteger();
-
-    public VmComponent() {
-    }
-
-    @Override
-    public Map<String, QueueReference> getQueues() {
-        return QUEUES;
-    }
-
-    @Override
-    public QueueReference getQueueReference(String key) {
-        return QUEUES.get(key);
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        super.doStart();
-        START_COUNTER.incrementAndGet();
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        if (START_COUNTER.decrementAndGet() <= 0) {
-            // clear queues when no more vm components in use
-            getQueues().clear();
-            // also clear endpoints
-            ENDPOINTS.clear();
-        }
-    }
-
-    @Override
-    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-        if (ENDPOINTS.containsKey(uri)) {
-            return ENDPOINTS.get(uri);
-        }
-
-        VmEndpoint answer = (VmEndpoint) super.createEndpoint(uri, remaining, parameters);
-
-        ENDPOINTS.put(uri, answer);
-        return answer;
-    }
-
-    @Override
-    protected VmEndpoint createEndpoint(
-            String endpointUri, Component component, BlockingQueueFactory<Exchange> queueFactory, int concurrentConsumers) {
-        return new VmEndpoint(endpointUri, component, queueFactory, concurrentConsumers);
-    }
-
-    @Override
-    protected VmEndpoint createEndpoint(
-            String endpointUri, Component component, BlockingQueue<Exchange> queue, int concurrentConsumers) {
-        return new VmEndpoint(endpointUri, component, queue, concurrentConsumers);
-    }
-}
diff --git a/components/camel-vm/src/main/java/org/apache/camel/component/vm/VmConsumer.java b/components/camel-vm/src/main/java/org/apache/camel/component/vm/VmConsumer.java
deleted file mode 100644
index d7468d7ab4b..00000000000
--- a/components/camel-vm/src/main/java/org/apache/camel/component/vm/VmConsumer.java
+++ /dev/null
@@ -1,60 +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.vm;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.CamelContextAware;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.component.seda.SedaConsumer;
-import org.apache.camel.support.ExchangeHelper;
-
-public class VmConsumer extends SedaConsumer implements CamelContextAware {
-
-    private CamelContext camelContext;
-
-    public VmConsumer(VmEndpoint endpoint, Processor processor) {
-        super(endpoint, processor);
-    }
-
-    @Override
-    public CamelContext getCamelContext() {
-        return camelContext;
-    }
-
-    @Override
-    public void setCamelContext(CamelContext camelContext) {
-        this.camelContext = camelContext;
-    }
-
-    /**
-     * Strategy to prepare exchange for being processed by this consumer
-     *
-     * @param  exchange the exchange
-     * @return          the exchange to process by this consumer.
-     */
-    @Override
-    protected Exchange prepareExchange(Exchange exchange) {
-        // send a new copied exchange with the camel context from this consumer
-        Exchange newExchange = ExchangeHelper.copyExchangeAndSetCamelContext(exchange, getCamelContext());
-        // this consumer grabbed the exchange so mark its from this route/endpoint
-        newExchange.getExchangeExtension().setFromEndpoint(getEndpoint());
-        newExchange.getExchangeExtension().setFromRouteId(getRouteId());
-        return newExchange;
-    }
-
-}
diff --git a/components/camel-vm/src/main/java/org/apache/camel/component/vm/VmEndpoint.java b/components/camel-vm/src/main/java/org/apache/camel/component/vm/VmEndpoint.java
deleted file mode 100644
index 637a1f4f3ab..00000000000
--- a/components/camel-vm/src/main/java/org/apache/camel/component/vm/VmEndpoint.java
+++ /dev/null
@@ -1,54 +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.vm;
-
-import java.util.concurrent.BlockingQueue;
-
-import org.apache.camel.Category;
-import org.apache.camel.Component;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.component.seda.BlockingQueueFactory;
-import org.apache.camel.component.seda.SedaEndpoint;
-import org.apache.camel.spi.UriEndpoint;
-
-/**
- * Call another endpoint in the same CamelContext asynchronously.
- */
-@UriEndpoint(firstVersion = "1.1.0", scheme = "vm", title = "VM", syntax = "vm:name",
-             category = { Category.CORE, Category.ENDPOINT })
-public class VmEndpoint extends SedaEndpoint {
-
-    public VmEndpoint(String endpointUri, Component component, BlockingQueue<Exchange> queue) {
-        super(endpointUri, component, queue);
-    }
-
-    public VmEndpoint(String endpointUri, Component component, BlockingQueue<Exchange> queue, int concurrentConsumers) {
-        super(endpointUri, component, queue, concurrentConsumers);
-    }
-
-    public VmEndpoint(String endpointUri, Component component, BlockingQueueFactory<Exchange> queueFactory,
-                      int concurrentConsumers) {
-        super(endpointUri, component, queueFactory, concurrentConsumers);
-    }
-
-    @Override
-    protected VmConsumer createNewConsumer(Processor processor) {
-        return new VmConsumer(this, processor);
-    }
-
-}
diff --git a/components/camel-vm/src/main/java/org/apache/camel/component/vm/package.html b/components/camel-vm/src/main/java/org/apache/camel/component/vm/package.html
deleted file mode 100644
index cd51581b0b5..00000000000
--- a/components/camel-vm/src/main/java/org/apache/camel/component/vm/package.html
+++ /dev/null
@@ -1,33 +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.
-
--->
-<html>
-<head>
-</head>
-<body>
-
-The <a href="http://camel.apache.org/vm.html">VM Component</a> for asynchronous
-<a href="http://www.eecs.harvard.edu/~mdw/proj/seda/">SEDA</a> exchanges on a
-<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/BlockingQueue.html">BlockingQueue</a>
-within the current JVM; so across CamelContext instances. Note that this communication can only take place
-between ClassLoaders which share the same camel-core.jar. So to communicate across web applications you
-need to put camel-core.jar on the system/boot classpath.
-
-
-</body>
-</html>
diff --git a/components/pom.xml b/components/pom.xml
index 8444fc2a2a0..a3c96457841 100644
--- a/components/pom.xml
+++ b/components/pom.xml
@@ -52,7 +52,6 @@
         <module>camel-stub</module>
         <module>camel-timer</module>
         <module>camel-validator</module>
-        <module>camel-vm</module>
         <module>camel-xpath</module>
         <module>camel-xslt</module>
 
diff --git a/core/camel-core/pom.xml b/core/camel-core/pom.xml
index 9cf5950f454..556f82499bc 100644
--- a/core/camel-core/pom.xml
+++ b/core/camel-core/pom.xml
@@ -134,10 +134,6 @@
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-validator</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-vm</artifactId>
-        </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-xpath</artifactId>
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/stub/StubAwsTest.java b/core/camel-core/src/test/java/org/apache/camel/component/stub/StubAwsTest.java
index fb4ca02fcec..41853a337b9 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/stub/StubAwsTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/stub/StubAwsTest.java
@@ -21,7 +21,6 @@ import org.apache.camel.builder.RouteBuilder;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.parallel.ResourceLock;
 
-@ResourceLock("VmComponent")
 public class StubAwsTest extends ContextTestSupport {
 
     @Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/stub/StubConsumerTest.java b/core/camel-core/src/test/java/org/apache/camel/component/stub/StubConsumerTest.java
index 604f178ddcb..9ad2b77ca3a 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/stub/StubConsumerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/stub/StubConsumerTest.java
@@ -22,7 +22,6 @@ import org.apache.camel.builder.RouteBuilder;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.parallel.ResourceLock;
 
-@ResourceLock("VmComponent")
 public class StubConsumerTest extends ContextTestSupport {
 
     @Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/stub/StubInOnlyTest.java b/core/camel-core/src/test/java/org/apache/camel/component/stub/StubInOnlyTest.java
index 6bf2386d0b0..8524ba84568 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/stub/StubInOnlyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/stub/StubInOnlyTest.java
@@ -21,7 +21,6 @@ import org.apache.camel.builder.RouteBuilder;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.parallel.ResourceLock;
 
-@ResourceLock("VmComponent")
 public class StubInOnlyTest extends ContextTestSupport {
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/stub/StubInOutTest.java b/core/camel-core/src/test/java/org/apache/camel/component/stub/StubInOutTest.java
index 4a12194c98a..8895f6f4937 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/stub/StubInOutTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/stub/StubInOutTest.java
@@ -21,7 +21,6 @@ import org.apache.camel.builder.RouteBuilder;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.parallel.ResourceLock;
 
-@ResourceLock("VmComponent")
 public class StubInOutTest extends ContextTestSupport {
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/stub/StubShadowTest.java b/core/camel-core/src/test/java/org/apache/camel/component/stub/StubShadowTest.java
index d4aed20c424..46e6e6fee99 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/stub/StubShadowTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/stub/StubShadowTest.java
@@ -22,7 +22,6 @@ import org.apache.camel.builder.RouteBuilder;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.parallel.ResourceLock;
 
-@ResourceLock("VmComponent")
 public class StubShadowTest extends ContextTestSupport {
 
     @Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/stub/StubTest.java b/core/camel-core/src/test/java/org/apache/camel/component/stub/StubTest.java
index a95395c3a7c..e3aea93bdd0 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/stub/StubTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/stub/StubTest.java
@@ -22,7 +22,6 @@ import org.apache.camel.builder.RouteBuilder;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.parallel.ResourceLock;
 
-@ResourceLock("VmComponent")
 public class StubTest extends ContextTestSupport {
 
     @Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/engine/DefaultComponentNameResolverTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/engine/DefaultComponentNameResolverTest.java
index c64044ce436..3386bd92d07 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/engine/DefaultComponentNameResolverTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/engine/DefaultComponentNameResolverTest.java
@@ -48,7 +48,7 @@ public class DefaultComponentNameResolverTest extends ContextTestSupport {
         assertTrue(names.contains("file"));
         assertTrue(names.contains("log"));
         assertTrue(names.contains("mock"));
-        assertTrue(names.contains("vm"));
+        assertTrue(names.contains("seda"));
         assertTrue(names.contains("xslt"));
 
         context.stop();
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/NotifyBuilderExactlyDoneSplitterWhereSentToIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/NotifyBuilderExactlyDoneSplitterWhereSentToIssueTest.java
index 2f026bdf96e..59602864b36 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/NotifyBuilderExactlyDoneSplitterWhereSentToIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/NotifyBuilderExactlyDoneSplitterWhereSentToIssueTest.java
@@ -26,7 +26,6 @@ import org.junit.jupiter.api.parallel.ResourceLock;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-@ResourceLock("VmComponent")
 public class NotifyBuilderExactlyDoneSplitterWhereSentToIssueTest extends ContextTestSupport {
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/model/StartingRoutesErrorReportedTest.java b/core/camel-core/src/test/java/org/apache/camel/model/StartingRoutesErrorReportedTest.java
index cfd17a7c476..20925f33c60 100644
--- a/core/camel-core/src/test/java/org/apache/camel/model/StartingRoutesErrorReportedTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/model/StartingRoutesErrorReportedTest.java
@@ -61,7 +61,6 @@ public class StartingRoutesErrorReportedTest extends ContextTestSupport {
     }
 
     @Test
-    @ResourceLock("VmComponent")
     public void testMaskPassword() throws Exception {
         try {
             context.addRoutes(new RouteBuilder() {
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListExchangePatternOptionTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListExchangePatternOptionTest.java
index 477b237ab21..67dfd06b0b2 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListExchangePatternOptionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListExchangePatternOptionTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.junit.jupiter.api.parallel.ResourceLock;
 
-@ResourceLock("VmComponent")
 public class RecipientListExchangePatternOptionTest extends SendExchangePatternOptionTest {
 
     @Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/SendExchangePatternOptionTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/SendExchangePatternOptionTest.java
index 669ba188e15..ef4a1a07508 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/SendExchangePatternOptionTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/SendExchangePatternOptionTest.java
@@ -22,7 +22,6 @@ import org.apache.camel.builder.RouteBuilder;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.parallel.ResourceLock;
 
-@ResourceLock("VmComponent")
 public class SendExchangePatternOptionTest extends ContextTestSupport {
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/StreamCachingInOutTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/StreamCachingInOutTest.java
index 3139cc8a142..bba225da4f9 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/StreamCachingInOutTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/StreamCachingInOutTest.java
@@ -29,7 +29,6 @@ import org.junit.jupiter.api.parallel.ResourceLock;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-@ResourceLock("DirectVmComponent")
 public class StreamCachingInOutTest extends ContextTestSupport {
     private static final String TEST_FILE = "org/apache/camel/processor/simple.txt";
 
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/intercept/InterceptSendToEndpointNormalizePatternTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/intercept/InterceptSendToEndpointNormalizePatternTest.java
index 4e2110a80b1..ac5004f6846 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/intercept/InterceptSendToEndpointNormalizePatternTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/intercept/InterceptSendToEndpointNormalizePatternTest.java
@@ -24,7 +24,6 @@ import org.junit.jupiter.api.parallel.ResourceLock;
 /**
  * Unit test for intercepting sending to endpoint
  */
-@ResourceLock("VmComponent")
 public class InterceptSendToEndpointNormalizePatternTest extends ContextTestSupport {
 
     @Test
diff --git a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
index eac65774df1..6b677801d0c 100644
--- a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
+++ b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
@@ -306,7 +306,6 @@ velocity
 vertx
 vertx-http
 vertx-websocket
-vm
 weather
 web3j
 webhook
diff --git a/docs/components/modules/ROOT/examples/json/vm.json b/docs/components/modules/ROOT/examples/json/vm.json
deleted file mode 120000
index 2659cc129ff..00000000000
--- a/docs/components/modules/ROOT/examples/json/vm.json
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../components/camel-vm/src/generated/resources/org/apache/camel/component/vm/vm.json
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/nav.adoc b/docs/components/modules/ROOT/nav.adoc
index 90d9bd28d0b..30c645f6fba 100644
--- a/docs/components/modules/ROOT/nav.adoc
+++ b/docs/components/modules/ROOT/nav.adoc
@@ -309,7 +309,6 @@
 ** xref:vertx-component.adoc[Vert.x]
 ** xref:vertx-http-component.adoc[Vert.x HTTP Client]
 ** xref:vertx-websocket-component.adoc[Vert.x WebSocket]
-** xref:vm-component.adoc[VM]
 ** xref:weather-component.adoc[Weather]
 ** xref:web3j-component.adoc[Web3j Ethereum Blockchain]
 ** xref:webhook-component.adoc[Webhook]
diff --git a/docs/components/modules/ROOT/pages/vm-component.adoc b/docs/components/modules/ROOT/pages/vm-component.adoc
deleted file mode 120000
index fe118cc8646..00000000000
--- a/docs/components/modules/ROOT/pages/vm-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-vm/src/main/docs/vm-component.adoc
\ No newline at end of file
diff --git a/docs/user-manual/modules/ROOT/pages/camel-4-migration-guide.adoc b/docs/user-manual/modules/ROOT/pages/camel-4-migration-guide.adoc
index 2b6a5e3a059..4510bd7c1e2 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4-migration-guide.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4-migration-guide.adoc
@@ -48,6 +48,7 @@ The following components has been removed:
 | camel-websocket                      | camel-vertx-websocket
 | camel-websocket-jsr356               | camel-vertx-websocket
 | camel-vertx-kafka                    | camel-kafka
+| camel-vm                             | camel-seda
 | camel-xstream                        | camel-jacksonxml
 | camel-zipkin                         | camel-micrometer, camel-opentelemtry
 |===
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
index e89e284c467..01c2ff690f2 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
@@ -4135,19 +4135,6 @@ public interface ComponentsBuilderFactory {
     static org.apache.camel.builder.component.dsl.VertxWebsocketComponentBuilderFactory.VertxWebsocketComponentBuilder vertxWebsocket() {
         return org.apache.camel.builder.component.dsl.VertxWebsocketComponentBuilderFactory.vertxWebsocket();
     }
-    /**
-     * VM (camel-vm)
-     * Call another endpoint in the same CamelContext asynchronously.
-     * 
-     * Category: core,endpoint
-     * Since: 1.1
-     * Maven coordinates: org.apache.camel:camel-vm
-     * 
-     * @return the dsl builder
-     */
-    static org.apache.camel.builder.component.dsl.VmComponentBuilderFactory.VmComponentBuilder vm() {
-        return org.apache.camel.builder.component.dsl.VmComponentBuilderFactory.vm();
-    }
     /**
      * Weather (camel-weather)
      * Poll the weather information from Open Weather Map.
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/VmComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/VmComponentBuilderFactory.java
deleted file mode 100644
index 58146d53fb8..00000000000
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/VmComponentBuilderFactory.java
+++ /dev/null
@@ -1,270 +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.builder.component.dsl;
-
-import javax.annotation.processing.Generated;
-import org.apache.camel.Component;
-import org.apache.camel.builder.component.AbstractComponentBuilder;
-import org.apache.camel.builder.component.ComponentBuilder;
-import org.apache.camel.component.vm.VmComponent;
-
-/**
- * Call another endpoint in the same CamelContext asynchronously.
- * 
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
-public interface VmComponentBuilderFactory {
-
-    /**
-     * VM (camel-vm)
-     * Call another endpoint in the same CamelContext asynchronously.
-     * 
-     * Category: core,endpoint
-     * Since: 1.1
-     * Maven coordinates: org.apache.camel:camel-vm
-     * 
-     * @return the dsl builder
-     */
-    static VmComponentBuilder vm() {
-        return new VmComponentBuilderImpl();
-    }
-
-    /**
-     * Builder for the VM component.
-     */
-    interface VmComponentBuilder extends ComponentBuilder<VmComponent> {
-        /**
-         * Allows for bridging the consumer to the Camel routing Error Handler,
-         * which mean any exceptions occurred while the consumer is trying to
-         * pickup incoming messages, or the likes, will now be processed as a
-         * message and handled by the routing Error Handler. By default the
-         * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
-         * with exceptions, that will be logged at WARN or ERROR level and
-         * ignored.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: consumer
-         * 
-         * @param bridgeErrorHandler the value to set
-         * @return the dsl builder
-         */
-        default VmComponentBuilder bridgeErrorHandler(boolean bridgeErrorHandler) {
-            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
-            return this;
-        }
-        /**
-         * Sets the default number of concurrent threads processing exchanges.
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1
-         * Group: consumer
-         * 
-         * @param concurrentConsumers the value to set
-         * @return the dsl builder
-         */
-        default VmComponentBuilder concurrentConsumers(int concurrentConsumers) {
-            doSetProperty("concurrentConsumers", concurrentConsumers);
-            return this;
-        }
-        /**
-         * The timeout (in milliseconds) used when polling. When a timeout
-         * occurs, the consumer can check whether it is allowed to continue
-         * running. Setting a lower value allows the consumer to react more
-         * quickly upon shutdown.
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1000
-         * Group: consumer (advanced)
-         * 
-         * @param defaultPollTimeout the value to set
-         * @return the dsl builder
-         */
-        default VmComponentBuilder defaultPollTimeout(int defaultPollTimeout) {
-            doSetProperty("defaultPollTimeout", defaultPollTimeout);
-            return this;
-        }
-        /**
-         * Whether a thread that sends messages to a full SEDA queue will block
-         * until the queue's capacity is no longer exhausted. By default, an
-         * exception will be thrown stating that the queue is full. By enabling
-         * this option, the calling thread will instead block and wait until the
-         * message can be accepted.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param defaultBlockWhenFull the value to set
-         * @return the dsl builder
-         */
-        default VmComponentBuilder defaultBlockWhenFull(
-                boolean defaultBlockWhenFull) {
-            doSetProperty("defaultBlockWhenFull", defaultBlockWhenFull);
-            return this;
-        }
-        /**
-         * Whether a thread that sends messages to a full SEDA queue will be
-         * discarded. By default, an exception will be thrown stating that the
-         * queue is full. By enabling this option, the calling thread will give
-         * up sending and continue, meaning that the message was not sent to the
-         * SEDA queue.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param defaultDiscardWhenFull the value to set
-         * @return the dsl builder
-         */
-        default VmComponentBuilder defaultDiscardWhenFull(
-                boolean defaultDiscardWhenFull) {
-            doSetProperty("defaultDiscardWhenFull", defaultDiscardWhenFull);
-            return this;
-        }
-        /**
-         * Whether a thread that sends messages to a full SEDA queue will block
-         * until the queue's capacity is no longer exhausted. By default, an
-         * exception will be thrown stating that the queue is full. By enabling
-         * this option, where a configured timeout can be added to the block
-         * case. Utilizing the .offer(timeout) method of the underlining java
-         * queue.
-         * 
-         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param defaultOfferTimeout the value to set
-         * @return the dsl builder
-         */
-        default VmComponentBuilder defaultOfferTimeout(long defaultOfferTimeout) {
-            doSetProperty("defaultOfferTimeout", defaultOfferTimeout);
-            return this;
-        }
-        /**
-         * Whether the producer should be started lazy (on the first message).
-         * By starting lazy you can use this to allow CamelContext and routes to
-         * startup in situations where a producer may otherwise fail during
-         * starting and cause the route to fail being started. By deferring this
-         * startup to be lazy then the startup failure can be handled during
-         * routing messages via Camel's routing error handlers. Beware that when
-         * the first message is processed then creating and starting the
-         * producer may take a little time and prolong the total processing time
-         * of the processing.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param lazyStartProducer the value to set
-         * @return the dsl builder
-         */
-        default VmComponentBuilder lazyStartProducer(boolean lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-        /**
-         * Whether autowiring is enabled. This is used for automatic autowiring
-         * options (the option must be marked as autowired) by looking up in the
-         * registry to find if there is a single instance of matching type,
-         * which then gets configured on the component. This can be used for
-         * automatic configuring JDBC data sources, JMS connection factories,
-         * AWS Clients, etc.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: advanced
-         * 
-         * @param autowiredEnabled the value to set
-         * @return the dsl builder
-         */
-        default VmComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
-            doSetProperty("autowiredEnabled", autowiredEnabled);
-            return this;
-        }
-        /**
-         * Sets the default queue factory.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.component.seda.BlockingQueueFactory&amp;lt;org.apache.camel.Exchange&amp;gt;&lt;/code&gt; type.
-         * 
-         * Group: advanced
-         * 
-         * @param defaultQueueFactory the value to set
-         * @return the dsl builder
-         */
-        default VmComponentBuilder defaultQueueFactory(
-                org.apache.camel.component.seda.BlockingQueueFactory<org.apache.camel.Exchange> defaultQueueFactory) {
-            doSetProperty("defaultQueueFactory", defaultQueueFactory);
-            return this;
-        }
-        /**
-         * Sets the default maximum capacity of the SEDA queue (i.e., the number
-         * of messages it can hold).
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1000
-         * Group: advanced
-         * 
-         * @param queueSize the value to set
-         * @return the dsl builder
-         */
-        default VmComponentBuilder queueSize(int queueSize) {
-            doSetProperty("queueSize", queueSize);
-            return this;
-        }
-    }
-
-    class VmComponentBuilderImpl
-            extends
-                AbstractComponentBuilder<VmComponent>
-            implements
-                VmComponentBuilder {
-        @Override
-        protected VmComponent buildConcreteComponent() {
-            return new VmComponent();
-        }
-        @Override
-        protected boolean setPropertyOnComponent(
-                Component component,
-                String name,
-                Object value) {
-            switch (name) {
-            case "bridgeErrorHandler": ((VmComponent) component).setBridgeErrorHandler((boolean) value); return true;
-            case "concurrentConsumers": ((VmComponent) component).setConcurrentConsumers((int) value); return true;
-            case "defaultPollTimeout": ((VmComponent) component).setDefaultPollTimeout((int) value); return true;
-            case "defaultBlockWhenFull": ((VmComponent) component).setDefaultBlockWhenFull((boolean) value); return true;
-            case "defaultDiscardWhenFull": ((VmComponent) component).setDefaultDiscardWhenFull((boolean) value); return true;
-            case "defaultOfferTimeout": ((VmComponent) component).setDefaultOfferTimeout((long) value); return true;
-            case "lazyStartProducer": ((VmComponent) component).setLazyStartProducer((boolean) value); return true;
-            case "autowiredEnabled": ((VmComponent) component).setAutowiredEnabled((boolean) value); return true;
-            case "defaultQueueFactory": ((VmComponent) component).setDefaultQueueFactory((org.apache.camel.component.seda.BlockingQueueFactory) value); return true;
-            case "queueSize": ((VmComponent) component).setQueueSize((int) value); return true;
-            default: return false;
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/dsl/camel-componentdsl/src/generated/resources/metadata.json b/dsl/camel-componentdsl/src/generated/resources/metadata.json
index 97adb1b3a77..8755c6b185c 100644
--- a/dsl/camel-componentdsl/src/generated/resources/metadata.json
+++ b/dsl/camel-componentdsl/src/generated/resources/metadata.json
@@ -6832,28 +6832,6 @@
     "producerOnly": false,
     "lenientProperties": true
   },
-  "VmComponentBuilderFactory": {
-    "kind": "component",
-    "name": "vm",
-    "title": "VM",
-    "description": "Call another endpoint in the same CamelContext asynchronously.",
-    "deprecated": false,
-    "firstVersion": "1.1.0",
-    "label": "core,endpoint",
-    "javaType": "org.apache.camel.component.vm.VmComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-vm",
-    "version": "4.0.0-SNAPSHOT",
-    "scheme": "vm",
-    "extendsScheme": "",
-    "syntax": "vm:name",
-    "async": true,
-    "api": false,
-    "consumerOnly": false,
-    "producerOnly": false,
-    "lenientProperties": false
-  },
   "WeatherComponentBuilderFactory": {
     "kind": "component",
     "name": "weather",
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index 79ae4029f90..e154c638553 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -323,7 +323,6 @@ public interface EndpointBuilderFactory
             org.apache.camel.builder.endpoint.dsl.VertxEndpointBuilderFactory.VertxBuilders,
             org.apache.camel.builder.endpoint.dsl.VertxHttpEndpointBuilderFactory.VertxHttpBuilders,
             org.apache.camel.builder.endpoint.dsl.VertxWebsocketEndpointBuilderFactory.VertxWebsocketBuilders,
-            org.apache.camel.builder.endpoint.dsl.VmEndpointBuilderFactory.VmBuilders,
             org.apache.camel.builder.endpoint.dsl.WeatherEndpointBuilderFactory.WeatherBuilders,
             org.apache.camel.builder.endpoint.dsl.Web3jEndpointBuilderFactory.Web3jBuilders,
             org.apache.camel.builder.endpoint.dsl.WebhookEndpointBuilderFactory.WebhookBuilders,
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
index 862bf77857e..34215632160 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
@@ -320,7 +320,6 @@ public interface EndpointBuilders
             org.apache.camel.builder.endpoint.dsl.VertxEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.VertxHttpEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.VertxWebsocketEndpointBuilderFactory,
-            org.apache.camel.builder.endpoint.dsl.VmEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.WeatherEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.Web3jEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.WebhookEndpointBuilderFactory,
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index 7f2a176d822..12fa8bd1617 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -14292,49 +14292,6 @@ public class StaticEndpointBuilders {
             String path) {
         return org.apache.camel.builder.endpoint.dsl.VertxWebsocketEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
-    /**
-     * VM (camel-vm)
-     * Call another endpoint in the same CamelContext asynchronously.
-     * 
-     * Category: core,endpoint
-     * Since: 1.1
-     * Maven coordinates: org.apache.camel:camel-vm
-     * 
-     * Syntax: <code>vm:name</code>
-     * 
-     * Path parameter: name (required)
-     * Name of queue
-     * 
-     * @param path name
-     * @return the dsl builder
-     */
-    public static org.apache.camel.builder.endpoint.dsl.VmEndpointBuilderFactory.VmEndpointBuilder vm(
-            String path) {
-        return org.apache.camel.builder.endpoint.dsl.VmEndpointBuilderFactory.endpointBuilder("vm", path);
-    }
-    /**
-     * VM (camel-vm)
-     * Call another endpoint in the same CamelContext asynchronously.
-     * 
-     * Category: core,endpoint
-     * Since: 1.1
-     * Maven coordinates: org.apache.camel:camel-vm
-     * 
-     * Syntax: <code>vm:name</code>
-     * 
-     * Path parameter: name (required)
-     * Name of queue
-     * 
-     * @param componentName to use a custom component name for the endpoint
-     * instead of the default name
-     * @param path name
-     * @return the dsl builder
-     */
-    public static org.apache.camel.builder.endpoint.dsl.VmEndpointBuilderFactory.VmEndpointBuilder vm(
-            String componentName,
-            String path) {
-        return org.apache.camel.builder.endpoint.dsl.VmEndpointBuilderFactory.endpointBuilder(componentName, path);
-    }
     /**
      * Weather (camel-weather)
      * Poll the weather information from Open Weather Map.
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/VmEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/VmEndpointBuilderFactory.java
deleted file mode 100644
index c5a028aa199..00000000000
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/VmEndpointBuilderFactory.java
+++ /dev/null
@@ -1,963 +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.builder.endpoint.dsl;
-
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.function.*;
-import java.util.stream.*;
-import javax.annotation.processing.Generated;
-import org.apache.camel.builder.EndpointConsumerBuilder;
-import org.apache.camel.builder.EndpointProducerBuilder;
-import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
-
-/**
- * Call another endpoint in the same CamelContext asynchronously.
- * 
- * Generated by camel build tools - do NOT edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public interface VmEndpointBuilderFactory {
-
-
-    /**
-     * Builder for endpoint consumers for the VM component.
-     */
-    public interface VmEndpointConsumerBuilder
-            extends
-                EndpointConsumerBuilder {
-        default AdvancedVmEndpointConsumerBuilder advanced() {
-            return (AdvancedVmEndpointConsumerBuilder) this;
-        }
-        /**
-         * The maximum capacity of the SEDA queue (i.e., the number of messages
-         * it can hold). Will by default use the defaultSize set on the SEDA
-         * component.
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1000
-         * Group: common
-         * 
-         * @param size the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointConsumerBuilder size(int size) {
-            doSetProperty("size", size);
-            return this;
-        }
-        /**
-         * The maximum capacity of the SEDA queue (i.e., the number of messages
-         * it can hold). Will by default use the defaultSize set on the SEDA
-         * component.
-         * 
-         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1000
-         * Group: common
-         * 
-         * @param size the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointConsumerBuilder size(String size) {
-            doSetProperty("size", size);
-            return this;
-        }
-        /**
-         * Number of concurrent threads processing exchanges.
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1
-         * Group: consumer
-         * 
-         * @param concurrentConsumers the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointConsumerBuilder concurrentConsumers(
-                int concurrentConsumers) {
-            doSetProperty("concurrentConsumers", concurrentConsumers);
-            return this;
-        }
-        /**
-         * Number of concurrent threads processing exchanges.
-         * 
-         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1
-         * Group: consumer
-         * 
-         * @param concurrentConsumers the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointConsumerBuilder concurrentConsumers(
-                String concurrentConsumers) {
-            doSetProperty("concurrentConsumers", concurrentConsumers);
-            return this;
-        }
-    }
-
-    /**
-     * Advanced builder for endpoint consumers for the VM component.
-     */
-    public interface AdvancedVmEndpointConsumerBuilder
-            extends
-                EndpointConsumerBuilder {
-        default VmEndpointConsumerBuilder basic() {
-            return (VmEndpointConsumerBuilder) this;
-        }
-        /**
-         * Allows for bridging the consumer to the Camel routing Error Handler,
-         * which mean any exceptions occurred while the consumer is trying to
-         * pickup incoming messages, or the likes, will now be processed as a
-         * message and handled by the routing Error Handler. By default the
-         * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
-         * with exceptions, that will be logged at WARN or ERROR level and
-         * ignored.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: consumer (advanced)
-         * 
-         * @param bridgeErrorHandler the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointConsumerBuilder bridgeErrorHandler(
-                boolean bridgeErrorHandler) {
-            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
-            return this;
-        }
-        /**
-         * Allows for bridging the consumer to the Camel routing Error Handler,
-         * which mean any exceptions occurred while the consumer is trying to
-         * pickup incoming messages, or the likes, will now be processed as a
-         * message and handled by the routing Error Handler. By default the
-         * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
-         * with exceptions, that will be logged at WARN or ERROR level and
-         * ignored.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: consumer (advanced)
-         * 
-         * @param bridgeErrorHandler the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointConsumerBuilder bridgeErrorHandler(
-                String bridgeErrorHandler) {
-            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
-            return this;
-        }
-        /**
-         * To let the consumer use a custom ExceptionHandler. Notice if the
-         * option bridgeErrorHandler is enabled then this option is not in use.
-         * By default the consumer will deal with exceptions, that will be
-         * logged at WARN or ERROR level and ignored.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.spi.ExceptionHandler&lt;/code&gt; type.
-         * 
-         * Group: consumer (advanced)
-         * 
-         * @param exceptionHandler the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointConsumerBuilder exceptionHandler(
-                org.apache.camel.spi.ExceptionHandler exceptionHandler) {
-            doSetProperty("exceptionHandler", exceptionHandler);
-            return this;
-        }
-        /**
-         * To let the consumer use a custom ExceptionHandler. Notice if the
-         * option bridgeErrorHandler is enabled then this option is not in use.
-         * By default the consumer will deal with exceptions, that will be
-         * logged at WARN or ERROR level and ignored.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;org.apache.camel.spi.ExceptionHandler&lt;/code&gt; type.
-         * 
-         * Group: consumer (advanced)
-         * 
-         * @param exceptionHandler the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointConsumerBuilder exceptionHandler(
-                String exceptionHandler) {
-            doSetProperty("exceptionHandler", exceptionHandler);
-            return this;
-        }
-        /**
-         * Sets the exchange pattern when the consumer creates an exchange.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.ExchangePattern&lt;/code&gt; type.
-         * 
-         * Group: consumer (advanced)
-         * 
-         * @param exchangePattern the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointConsumerBuilder exchangePattern(
-                org.apache.camel.ExchangePattern exchangePattern) {
-            doSetProperty("exchangePattern", exchangePattern);
-            return this;
-        }
-        /**
-         * Sets the exchange pattern when the consumer creates an exchange.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;org.apache.camel.ExchangePattern&lt;/code&gt; type.
-         * 
-         * Group: consumer (advanced)
-         * 
-         * @param exchangePattern the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointConsumerBuilder exchangePattern(
-                String exchangePattern) {
-            doSetProperty("exchangePattern", exchangePattern);
-            return this;
-        }
-        /**
-         * Whether to limit the number of concurrentConsumers to the maximum of
-         * 500. By default, an exception will be thrown if an endpoint is
-         * configured with a greater number. You can disable that check by
-         * turning this option off.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: consumer (advanced)
-         * 
-         * @param limitConcurrentConsumers the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointConsumerBuilder limitConcurrentConsumers(
-                boolean limitConcurrentConsumers) {
-            doSetProperty("limitConcurrentConsumers", limitConcurrentConsumers);
-            return this;
-        }
-        /**
-         * Whether to limit the number of concurrentConsumers to the maximum of
-         * 500. By default, an exception will be thrown if an endpoint is
-         * configured with a greater number. You can disable that check by
-         * turning this option off.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: true
-         * Group: consumer (advanced)
-         * 
-         * @param limitConcurrentConsumers the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointConsumerBuilder limitConcurrentConsumers(
-                String limitConcurrentConsumers) {
-            doSetProperty("limitConcurrentConsumers", limitConcurrentConsumers);
-            return this;
-        }
-        /**
-         * Specifies whether multiple consumers are allowed. If enabled, you can
-         * use SEDA for Publish-Subscribe messaging. That is, you can send a
-         * message to the SEDA queue and have each consumer receive a copy of
-         * the message. When enabled, this option should be specified on every
-         * consumer endpoint.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: consumer (advanced)
-         * 
-         * @param multipleConsumers the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointConsumerBuilder multipleConsumers(
-                boolean multipleConsumers) {
-            doSetProperty("multipleConsumers", multipleConsumers);
-            return this;
-        }
-        /**
-         * Specifies whether multiple consumers are allowed. If enabled, you can
-         * use SEDA for Publish-Subscribe messaging. That is, you can send a
-         * message to the SEDA queue and have each consumer receive a copy of
-         * the message. When enabled, this option should be specified on every
-         * consumer endpoint.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: consumer (advanced)
-         * 
-         * @param multipleConsumers the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointConsumerBuilder multipleConsumers(
-                String multipleConsumers) {
-            doSetProperty("multipleConsumers", multipleConsumers);
-            return this;
-        }
-        /**
-         * The timeout (in milliseconds) used when polling. When a timeout
-         * occurs, the consumer can check whether it is allowed to continue
-         * running. Setting a lower value allows the consumer to react more
-         * quickly upon shutdown.
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1000
-         * Group: consumer (advanced)
-         * 
-         * @param pollTimeout the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointConsumerBuilder pollTimeout(int pollTimeout) {
-            doSetProperty("pollTimeout", pollTimeout);
-            return this;
-        }
-        /**
-         * The timeout (in milliseconds) used when polling. When a timeout
-         * occurs, the consumer can check whether it is allowed to continue
-         * running. Setting a lower value allows the consumer to react more
-         * quickly upon shutdown.
-         * 
-         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1000
-         * Group: consumer (advanced)
-         * 
-         * @param pollTimeout the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointConsumerBuilder pollTimeout(String pollTimeout) {
-            doSetProperty("pollTimeout", pollTimeout);
-            return this;
-        }
-        /**
-         * Whether to purge the task queue when stopping the consumer/route.
-         * This allows to stop faster, as any pending messages on the queue is
-         * discarded.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: consumer (advanced)
-         * 
-         * @param purgeWhenStopping the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointConsumerBuilder purgeWhenStopping(
-                boolean purgeWhenStopping) {
-            doSetProperty("purgeWhenStopping", purgeWhenStopping);
-            return this;
-        }
-        /**
-         * Whether to purge the task queue when stopping the consumer/route.
-         * This allows to stop faster, as any pending messages on the queue is
-         * discarded.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: consumer (advanced)
-         * 
-         * @param purgeWhenStopping the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointConsumerBuilder purgeWhenStopping(
-                String purgeWhenStopping) {
-            doSetProperty("purgeWhenStopping", purgeWhenStopping);
-            return this;
-        }
-        /**
-         * Define the queue instance which will be used by the endpoint.
-         * 
-         * The option is a:
-         * &lt;code&gt;java.util.concurrent.BlockingQueue&lt;/code&gt; type.
-         * 
-         * Group: advanced
-         * 
-         * @param queue the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointConsumerBuilder queue(BlockingQueue queue) {
-            doSetProperty("queue", queue);
-            return this;
-        }
-        /**
-         * Define the queue instance which will be used by the endpoint.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.util.concurrent.BlockingQueue&lt;/code&gt; type.
-         * 
-         * Group: advanced
-         * 
-         * @param queue the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointConsumerBuilder queue(String queue) {
-            doSetProperty("queue", queue);
-            return this;
-        }
-    }
-
-    /**
-     * Builder for endpoint producers for the VM component.
-     */
-    public interface VmEndpointProducerBuilder
-            extends
-                EndpointProducerBuilder {
-        default AdvancedVmEndpointProducerBuilder advanced() {
-            return (AdvancedVmEndpointProducerBuilder) this;
-        }
-        /**
-         * The maximum capacity of the SEDA queue (i.e., the number of messages
-         * it can hold). Will by default use the defaultSize set on the SEDA
-         * component.
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1000
-         * Group: common
-         * 
-         * @param size the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointProducerBuilder size(int size) {
-            doSetProperty("size", size);
-            return this;
-        }
-        /**
-         * The maximum capacity of the SEDA queue (i.e., the number of messages
-         * it can hold). Will by default use the defaultSize set on the SEDA
-         * component.
-         * 
-         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1000
-         * Group: common
-         * 
-         * @param size the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointProducerBuilder size(String size) {
-            doSetProperty("size", size);
-            return this;
-        }
-        /**
-         * Whether a thread that sends messages to a full SEDA queue will block
-         * until the queue's capacity is no longer exhausted. By default, an
-         * exception will be thrown stating that the queue is full. By enabling
-         * this option, the calling thread will instead block and wait until the
-         * message can be accepted.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param blockWhenFull the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointProducerBuilder blockWhenFull(boolean blockWhenFull) {
-            doSetProperty("blockWhenFull", blockWhenFull);
-            return this;
-        }
-        /**
-         * Whether a thread that sends messages to a full SEDA queue will block
-         * until the queue's capacity is no longer exhausted. By default, an
-         * exception will be thrown stating that the queue is full. By enabling
-         * this option, the calling thread will instead block and wait until the
-         * message can be accepted.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param blockWhenFull the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointProducerBuilder blockWhenFull(String blockWhenFull) {
-            doSetProperty("blockWhenFull", blockWhenFull);
-            return this;
-        }
-        /**
-         * Whether the producer should discard the message (do not add the
-         * message to the queue), when sending to a queue with no active
-         * consumers. Only one of the options discardIfNoConsumers and
-         * failIfNoConsumers can be enabled at the same time.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param discardIfNoConsumers the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointProducerBuilder discardIfNoConsumers(
-                boolean discardIfNoConsumers) {
-            doSetProperty("discardIfNoConsumers", discardIfNoConsumers);
-            return this;
-        }
-        /**
-         * Whether the producer should discard the message (do not add the
-         * message to the queue), when sending to a queue with no active
-         * consumers. Only one of the options discardIfNoConsumers and
-         * failIfNoConsumers can be enabled at the same time.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param discardIfNoConsumers the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointProducerBuilder discardIfNoConsumers(
-                String discardIfNoConsumers) {
-            doSetProperty("discardIfNoConsumers", discardIfNoConsumers);
-            return this;
-        }
-        /**
-         * Whether a thread that sends messages to a full SEDA queue will be
-         * discarded. By default, an exception will be thrown stating that the
-         * queue is full. By enabling this option, the calling thread will give
-         * up sending and continue, meaning that the message was not sent to the
-         * SEDA queue.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param discardWhenFull the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointProducerBuilder discardWhenFull(
-                boolean discardWhenFull) {
-            doSetProperty("discardWhenFull", discardWhenFull);
-            return this;
-        }
-        /**
-         * Whether a thread that sends messages to a full SEDA queue will be
-         * discarded. By default, an exception will be thrown stating that the
-         * queue is full. By enabling this option, the calling thread will give
-         * up sending and continue, meaning that the message was not sent to the
-         * SEDA queue.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param discardWhenFull the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointProducerBuilder discardWhenFull(String discardWhenFull) {
-            doSetProperty("discardWhenFull", discardWhenFull);
-            return this;
-        }
-        /**
-         * Whether the producer should fail by throwing an exception, when
-         * sending to a queue with no active consumers. Only one of the options
-         * discardIfNoConsumers and failIfNoConsumers can be enabled at the same
-         * time.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param failIfNoConsumers the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointProducerBuilder failIfNoConsumers(
-                boolean failIfNoConsumers) {
-            doSetProperty("failIfNoConsumers", failIfNoConsumers);
-            return this;
-        }
-        /**
-         * Whether the producer should fail by throwing an exception, when
-         * sending to a queue with no active consumers. Only one of the options
-         * discardIfNoConsumers and failIfNoConsumers can be enabled at the same
-         * time.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param failIfNoConsumers the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointProducerBuilder failIfNoConsumers(
-                String failIfNoConsumers) {
-            doSetProperty("failIfNoConsumers", failIfNoConsumers);
-            return this;
-        }
-        /**
-         * Offer timeout (in milliseconds) can be added to the block case when
-         * queue is full. You can disable timeout by using 0 or a negative
-         * value.
-         * 
-         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param offerTimeout the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointProducerBuilder offerTimeout(long offerTimeout) {
-            doSetProperty("offerTimeout", offerTimeout);
-            return this;
-        }
-        /**
-         * Offer timeout (in milliseconds) can be added to the block case when
-         * queue is full. You can disable timeout by using 0 or a negative
-         * value.
-         * 
-         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param offerTimeout the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointProducerBuilder offerTimeout(String offerTimeout) {
-            doSetProperty("offerTimeout", offerTimeout);
-            return this;
-        }
-        /**
-         * Timeout (in milliseconds) before a SEDA producer will stop waiting
-         * for an asynchronous task to complete. You can disable timeout by
-         * using 0 or a negative value.
-         * 
-         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
-         * 
-         * Default: 30000
-         * Group: producer
-         * 
-         * @param timeout the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointProducerBuilder timeout(long timeout) {
-            doSetProperty("timeout", timeout);
-            return this;
-        }
-        /**
-         * Timeout (in milliseconds) before a SEDA producer will stop waiting
-         * for an asynchronous task to complete. You can disable timeout by
-         * using 0 or a negative value.
-         * 
-         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
-         * 
-         * Default: 30000
-         * Group: producer
-         * 
-         * @param timeout the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointProducerBuilder timeout(String timeout) {
-            doSetProperty("timeout", timeout);
-            return this;
-        }
-        /**
-         * Option to specify whether the caller should wait for the async task
-         * to complete or not before continuing. The following three options are
-         * supported: Always, Never or IfReplyExpected. The first two values are
-         * self-explanatory. The last value, IfReplyExpected, will only wait if
-         * the message is Request Reply based. The default option is
-         * IfReplyExpected.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.WaitForTaskToComplete&lt;/code&gt; type.
-         * 
-         * Default: IfReplyExpected
-         * Group: producer
-         * 
-         * @param waitForTaskToComplete the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointProducerBuilder waitForTaskToComplete(
-                org.apache.camel.WaitForTaskToComplete waitForTaskToComplete) {
-            doSetProperty("waitForTaskToComplete", waitForTaskToComplete);
-            return this;
-        }
-        /**
-         * Option to specify whether the caller should wait for the async task
-         * to complete or not before continuing. The following three options are
-         * supported: Always, Never or IfReplyExpected. The first two values are
-         * self-explanatory. The last value, IfReplyExpected, will only wait if
-         * the message is Request Reply based. The default option is
-         * IfReplyExpected.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;org.apache.camel.WaitForTaskToComplete&lt;/code&gt; type.
-         * 
-         * Default: IfReplyExpected
-         * Group: producer
-         * 
-         * @param waitForTaskToComplete the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointProducerBuilder waitForTaskToComplete(
-                String waitForTaskToComplete) {
-            doSetProperty("waitForTaskToComplete", waitForTaskToComplete);
-            return this;
-        }
-    }
-
-    /**
-     * Advanced builder for endpoint producers for the VM component.
-     */
-    public interface AdvancedVmEndpointProducerBuilder
-            extends
-                EndpointProducerBuilder {
-        default VmEndpointProducerBuilder basic() {
-            return (VmEndpointProducerBuilder) this;
-        }
-        /**
-         * Whether the producer should be started lazy (on the first message).
-         * By starting lazy you can use this to allow CamelContext and routes to
-         * startup in situations where a producer may otherwise fail during
-         * starting and cause the route to fail being started. By deferring this
-         * startup to be lazy then the startup failure can be handled during
-         * routing messages via Camel's routing error handlers. Beware that when
-         * the first message is processed then creating and starting the
-         * producer may take a little time and prolong the total processing time
-         * of the processing.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer (advanced)
-         * 
-         * @param lazyStartProducer the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointProducerBuilder lazyStartProducer(
-                boolean lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-        /**
-         * Whether the producer should be started lazy (on the first message).
-         * By starting lazy you can use this to allow CamelContext and routes to
-         * startup in situations where a producer may otherwise fail during
-         * starting and cause the route to fail being started. By deferring this
-         * startup to be lazy then the startup failure can be handled during
-         * routing messages via Camel's routing error handlers. Beware that when
-         * the first message is processed then creating and starting the
-         * producer may take a little time and prolong the total processing time
-         * of the processing.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: producer (advanced)
-         * 
-         * @param lazyStartProducer the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointProducerBuilder lazyStartProducer(
-                String lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-        /**
-         * Define the queue instance which will be used by the endpoint.
-         * 
-         * The option is a:
-         * &lt;code&gt;java.util.concurrent.BlockingQueue&lt;/code&gt; type.
-         * 
-         * Group: advanced
-         * 
-         * @param queue the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointProducerBuilder queue(BlockingQueue queue) {
-            doSetProperty("queue", queue);
-            return this;
-        }
-        /**
-         * Define the queue instance which will be used by the endpoint.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.util.concurrent.BlockingQueue&lt;/code&gt; type.
-         * 
-         * Group: advanced
-         * 
-         * @param queue the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointProducerBuilder queue(String queue) {
-            doSetProperty("queue", queue);
-            return this;
-        }
-    }
-
-    /**
-     * Builder for endpoint for the VM component.
-     */
-    public interface VmEndpointBuilder
-            extends
-                VmEndpointConsumerBuilder,
-                VmEndpointProducerBuilder {
-        default AdvancedVmEndpointBuilder advanced() {
-            return (AdvancedVmEndpointBuilder) this;
-        }
-        /**
-         * The maximum capacity of the SEDA queue (i.e., the number of messages
-         * it can hold). Will by default use the defaultSize set on the SEDA
-         * component.
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1000
-         * Group: common
-         * 
-         * @param size the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointBuilder size(int size) {
-            doSetProperty("size", size);
-            return this;
-        }
-        /**
-         * The maximum capacity of the SEDA queue (i.e., the number of messages
-         * it can hold). Will by default use the defaultSize set on the SEDA
-         * component.
-         * 
-         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1000
-         * Group: common
-         * 
-         * @param size the value to set
-         * @return the dsl builder
-         */
-        default VmEndpointBuilder size(String size) {
-            doSetProperty("size", size);
-            return this;
-        }
-    }
-
-    /**
-     * Advanced builder for endpoint for the VM component.
-     */
-    public interface AdvancedVmEndpointBuilder
-            extends
-                AdvancedVmEndpointConsumerBuilder,
-                AdvancedVmEndpointProducerBuilder {
-        default VmEndpointBuilder basic() {
-            return (VmEndpointBuilder) this;
-        }
-        /**
-         * Define the queue instance which will be used by the endpoint.
-         * 
-         * The option is a:
-         * &lt;code&gt;java.util.concurrent.BlockingQueue&lt;/code&gt; type.
-         * 
-         * Group: advanced
-         * 
-         * @param queue the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointBuilder queue(BlockingQueue queue) {
-            doSetProperty("queue", queue);
-            return this;
-        }
-        /**
-         * Define the queue instance which will be used by the endpoint.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.util.concurrent.BlockingQueue&lt;/code&gt; type.
-         * 
-         * Group: advanced
-         * 
-         * @param queue the value to set
-         * @return the dsl builder
-         */
-        default AdvancedVmEndpointBuilder queue(String queue) {
-            doSetProperty("queue", queue);
-            return this;
-        }
-    }
-
-    public interface VmBuilders {
-        /**
-         * VM (camel-vm)
-         * Call another endpoint in the same CamelContext asynchronously.
-         * 
-         * Category: core,endpoint
-         * Since: 1.1
-         * Maven coordinates: org.apache.camel:camel-vm
-         * 
-         * Syntax: <code>vm:name</code>
-         * 
-         * Path parameter: name (required)
-         * Name of queue
-         * 
-         * @param path name
-         * @return the dsl builder
-         */
-        default VmEndpointBuilder vm(String path) {
-            return VmEndpointBuilderFactory.endpointBuilder("vm", path);
-        }
-        /**
-         * VM (camel-vm)
-         * Call another endpoint in the same CamelContext asynchronously.
-         * 
-         * Category: core,endpoint
-         * Since: 1.1
-         * Maven coordinates: org.apache.camel:camel-vm
-         * 
-         * Syntax: <code>vm:name</code>
-         * 
-         * Path parameter: name (required)
-         * Name of queue
-         * 
-         * @param componentName to use a custom component name for the endpoint
-         * instead of the default name
-         * @param path name
-         * @return the dsl builder
-         */
-        default VmEndpointBuilder vm(String componentName, String path) {
-            return VmEndpointBuilderFactory.endpointBuilder(componentName, path);
-        }
-    }
-    static VmEndpointBuilder endpointBuilder(String componentName, String path) {
-        class VmEndpointBuilderImpl extends AbstractEndpointBuilder implements VmEndpointBuilder, AdvancedVmEndpointBuilder {
-            public VmEndpointBuilderImpl(String path) {
-                super(componentName, path);
-            }
-        }
-        return new VmEndpointBuilderImpl(path);
-    }
-}
\ No newline at end of file
diff --git a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
index 80e97850d19..e5a4bc54baf 100644
--- a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
+++ b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
@@ -309,7 +309,6 @@ org.apache.camel.component.velocity.VelocityComponent=camel:velocity
 org.apache.camel.component.vertx.VertxComponent=camel:vertx
 org.apache.camel.component.vertx.http.VertxHttpComponent=camel:vertx-http
 org.apache.camel.component.vertx.websocket.VertxWebsocketComponent=camel:vertx-websocket
-org.apache.camel.component.vm.VmComponent=camel:vm
 org.apache.camel.component.weather.WeatherComponent=camel:weather
 org.apache.camel.component.web3j.Web3jComponent=camel:web3j
 org.apache.camel.component.webhook.WebhookComponent=camel:webhook
diff --git a/parent/pom.xml b/parent/pom.xml
index 3ef927afd62..76217537b6b 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -2333,11 +2333,6 @@
                 <artifactId>camel-vertx-websocket</artifactId>
                 <version>${project.version}</version>
             </dependency>
-            <dependency>
-                <groupId>org.apache.camel</groupId>
-                <artifactId>camel-vm</artifactId>
-                <version>${project.version}</version>
-            </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
                 <artifactId>camel-wal</artifactId>