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


The following commit(s) were added to refs/heads/main by this push:
     new debe4a26f8c Remove camel-websocket-jsr356
debe4a26f8c is described below

commit debe4a26f8c4ff163cbfd772ac6f0f7b2f63fbc7
Author: Claus Ibsen <[email protected]>
AuthorDate: Sun Jan 15 13:38:12 2023 +0100

    Remove camel-websocket-jsr356
---
 bom/camel-bom/pom.xml                              |   5 -
 catalog/camel-allcomponents/pom.xml                |   5 -
 .../org/apache/camel/catalog/components.properties |   1 -
 .../camel/catalog/components/websocket-jsr356.json |  42 --
 components/camel-websocket-jsr356/pom.xml          | 112 -----
 .../websocket/jsr356/JSR356EndpointConfigurer.java |  73 ----
 .../jsr356/JSR356WebSocketComponentConfigurer.java |  67 ---
 .../jsr356/JSR356WebSocketEndpointUriFactory.java  |  73 ----
 .../services/org/apache/camel/component.properties |   7 -
 .../org/apache/camel/component/websocket-jsr356    |   2 -
 .../camel/configurer/websocket-jsr356-component    |   2 -
 .../camel/configurer/websocket-jsr356-endpoint     |   2 -
 .../camel/urifactory/websocket-jsr356-endpoint     |   2 -
 .../camel/websocket/jsr356/websocket-jsr356.json   |  42 --
 .../src/main/docs/websocket-jsr356-component.adoc  |  53 ---
 .../websocket/jsr356/CamelServerEndpoint.java      |  80 ----
 .../camel/websocket/jsr356/ClientSessions.java     | 151 -------
 .../DefaultServerEndpointDeploymentStrategy.java   |  32 --
 .../camel/websocket/jsr356/JSR356Constants.java    |  26 --
 .../camel/websocket/jsr356/JSR356Consumer.java     |  98 -----
 .../camel/websocket/jsr356/JSR356Endpoint.java     |  79 ----
 .../camel/websocket/jsr356/JSR356Producer.java     | 103 -----
 .../websocket/jsr356/JSR356WebSocketComponent.java |  97 -----
 .../jsr356/ServerEndpointDeploymentStrategy.java   |  36 --
 .../camel/websocket/jsr356/ServletIntegration.java |  47 --
 .../javax.servlet.ServletContainerInitializer      |  17 -
 .../camel/websocket/jsr356/GreetingEncoder.java    |  39 --
 .../camel/websocket/jsr356/JSR356ConsumerTest.java | 117 -----
 .../camel/websocket/jsr356/JSR356ProducerTest.java |  85 ----
 .../ServerEndpointDeploymentStrategyTest.java      | 117 -----
 .../src/test/resources/log4j2.properties           |  28 --
 components/pom.xml                                 |   1 -
 .../org/apache/camel/main/components.properties    |   1 -
 .../ROOT/examples/json/websocket-jsr356.json       |   1 -
 docs/components/modules/ROOT/nav.adoc              |   1 -
 .../ROOT/pages/websocket-jsr356-component.adoc     |   1 -
 .../ROOT/pages/camel-4-migration-guide.adoc        |   1 +
 .../component/ComponentsBuilderFactory.java        |  13 -
 .../WebsocketJsr356ComponentBuilderFactory.java    | 163 -------
 .../src/generated/resources/metadata.json          |  22 -
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 -
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 -
 .../builder/endpoint/StaticEndpointBuilders.java   |  47 --
 .../dsl/JSR356WebSocketEndpointBuilderFactory.java | 480 ---------------------
 .../camel-component-known-dependencies.properties  |   1 -
 parent/pom.xml                                     |   5 -
 46 files changed, 1 insertion(+), 2378 deletions(-)

diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index bea7665312d..19267269036 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -1991,11 +1991,6 @@
         <artifactId>camel-webhook</artifactId>
         <version>${project.version}</version>
       </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-websocket-jsr356</artifactId>
-        <version>${project.version}</version>
-      </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
         <artifactId>camel-weka</artifactId>
diff --git a/catalog/camel-allcomponents/pom.xml 
b/catalog/camel-allcomponents/pom.xml
index 1dc54562967..a466082023a 100644
--- a/catalog/camel-allcomponents/pom.xml
+++ b/catalog/camel-allcomponents/pom.xml
@@ -1748,11 +1748,6 @@
             <artifactId>camel-webhook</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-websocket-jsr356</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-weka</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 82d4c29e888..4537fb3747a 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
@@ -316,7 +316,6 @@ vm
 weather
 web3j
 webhook
-websocket-jsr356
 weka
 whatsapp
 wordpress
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/websocket-jsr356.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/websocket-jsr356.json
deleted file mode 100644
index 36839fa7d9a..00000000000
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/websocket-jsr356.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "name": "websocket-jsr356",
-    "title": "Javax Websocket",
-    "description": "Expose websocket endpoints using JSR356.",
-    "deprecated": false,
-    "firstVersion": "2.23.0",
-    "label": "http",
-    "javaType": "org.apache.camel.websocket.jsr356.JSR356WebSocketComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-websocket-jsr356",
-    "version": "4.0.0-SNAPSHOT",
-    "scheme": "websocket-jsr356",
-    "extendsScheme": "",
-    "syntax": "websocket-jsr356:uri",
-    "async": false,
-    "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 [...]
-    "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 [...]
-    "serverEndpointDeploymentStrategy": { "kind": "property", "displayName": 
"Server Endpoint Deployment Strategy", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.websocket.jsr356.ServerEndpointDeploymentStrategy", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
enable customization of how a WebSocket ServerEndpoint is configured and 
deployed. By default DefaultServerEndpointDeploymentStrategy is used." }
-  },
-  "headers": {
-    "jsr356.session": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": 
"jakarta.websocket.Session", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The session.", 
"constantName": "org.apache.camel.websocket.jsr356.JSR356Constants#SESSION" },
-    "jsr356.producer.session.incoming.use": { "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Use incoming session", "constantName": 
"org.apache.camel.websocket.jsr356.JSR356Constants#USE_INCOMING_SESSION" }
-  },
-  "properties": {
-    "uri": { "kind": "path", "displayName": "Uri", "group": "common", "label": 
"", "required": false, "type": "string", "javaType": "java.net.URI", 
"deprecated": false, "autowired": false, "secret": false, "description": "If a 
schemeless URI path is provided, a ServerEndpoint is deployed under that path. 
Else if the URI is prefixed with the 'ws:\/\/' scheme, then a connection is 
established to the corresponding server" },
-    "sessionCount": { "kind": "parameter", "displayName": "Session Count", 
"group": "common", "label": "", "required": false, "type": "integer", 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 1, "description": "Used when the endpoint is in client mode to 
populate a pool of sessions" },
-    "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", 
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the exchange pattern when the consumer creates an 
exchange." },
-    "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 [...]
-  }
-}
diff --git a/components/camel-websocket-jsr356/pom.xml 
b/components/camel-websocket-jsr356/pom.xml
deleted file mode 100644
index 701cf28f579..00000000000
--- a/components/camel-websocket-jsr356/pom.xml
+++ /dev/null
@@ -1,112 +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";>
-    <parent>
-        <artifactId>components</artifactId>
-        <groupId>org.apache.camel</groupId>
-        <version>4.0.0-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>camel-websocket-jsr356</artifactId>
-    <name>Camel :: WebSocket JSR356</name>
-    <description>Camel WebSocket using JSR356 (javax)</description>
-
-    <properties>
-        <tomcat.version>10.0.27</tomcat.version>
-
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-support</artifactId>
-        </dependency>
-        <dependency> <!-- standard API bundled @asf -->
-            <groupId>org.apache.tomcat</groupId>
-            <artifactId>tomcat-websocket-api</artifactId>
-            <version>${tomcat.version}</version>
-            <scope>provided</scope> <!-- assumed embedded in a container with 
it -->
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tomcat</groupId>
-            <artifactId>tomcat-servlet-api</artifactId>
-            <version>${tomcat.version}</version>
-            <scope>provided</scope>
-            <optional>true</optional>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-junit5</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.meecrowave</groupId>
-            <artifactId>meecrowave-junit</artifactId>
-            <version>1.2.10</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tomcat</groupId>
-            <artifactId>tomcat-websocket</artifactId>
-            <version>${tomcat.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>jakarta.enterprise</groupId>
-            <artifactId>jakarta.enterprise.cdi-api</artifactId>
-            <version>${jakarta-enterprise-cdi-api-version}</version>
-            <scope>test</scope>
-        </dependency>
-
-        <!-- logging -->
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-slf4j-impl</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-    </dependencies>
-    <profiles>
-        <profile>
-            <id>jdk17-build</id>
-            <activation>
-                <jdk>[17,)</jdk>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <configuration>
-                            <argLine>--add-opens 
java.base/java.lang=ALL-UNNAMED</argLine>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-</project>
diff --git 
a/components/camel-websocket-jsr356/src/generated/java/org/apache/camel/websocket/jsr356/JSR356EndpointConfigurer.java
 
b/components/camel-websocket-jsr356/src/generated/java/org/apache/camel/websocket/jsr356/JSR356EndpointConfigurer.java
deleted file mode 100644
index eaf627a8643..00000000000
--- 
a/components/camel-websocket-jsr356/src/generated/java/org/apache/camel/websocket/jsr356/JSR356EndpointConfigurer.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.websocket.jsr356;
-
-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.support.component.PropertyConfigurerSupport;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@SuppressWarnings("unchecked")
-public class JSR356EndpointConfigurer extends PropertyConfigurerSupport 
implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
-
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String 
name, Object value, boolean ignoreCase) {
-        JSR356Endpoint target = (JSR356Endpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": 
target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); 
return true;
-        case "exceptionhandler":
-        case "exceptionHandler": 
target.setExceptionHandler(property(camelContext, 
org.apache.camel.spi.ExceptionHandler.class, value)); return true;
-        case "exchangepattern":
-        case "exchangePattern": 
target.setExchangePattern(property(camelContext, 
org.apache.camel.ExchangePattern.class, value)); return true;
-        case "lazystartproducer":
-        case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
-        case "sessioncount":
-        case "sessionCount": target.setSessionCount(property(camelContext, 
int.class, value)); return true;
-        default: return false;
-        }
-    }
-
-    @Override
-    public Class<?> getOptionType(String name, boolean ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return boolean.class;
-        case "exceptionhandler":
-        case "exceptionHandler": return 
org.apache.camel.spi.ExceptionHandler.class;
-        case "exchangepattern":
-        case "exchangePattern": return org.apache.camel.ExchangePattern.class;
-        case "lazystartproducer":
-        case "lazyStartProducer": return boolean.class;
-        case "sessioncount":
-        case "sessionCount": return int.class;
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
-        JSR356Endpoint target = (JSR356Endpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return target.isBridgeErrorHandler();
-        case "exceptionhandler":
-        case "exceptionHandler": return target.getExceptionHandler();
-        case "exchangepattern":
-        case "exchangePattern": return target.getExchangePattern();
-        case "lazystartproducer":
-        case "lazyStartProducer": return target.isLazyStartProducer();
-        case "sessioncount":
-        case "sessionCount": return target.getSessionCount();
-        default: return null;
-        }
-    }
-}
-
diff --git 
a/components/camel-websocket-jsr356/src/generated/java/org/apache/camel/websocket/jsr356/JSR356WebSocketComponentConfigurer.java
 
b/components/camel-websocket-jsr356/src/generated/java/org/apache/camel/websocket/jsr356/JSR356WebSocketComponentConfigurer.java
deleted file mode 100644
index 2b0ec86eacf..00000000000
--- 
a/components/camel-websocket-jsr356/src/generated/java/org/apache/camel/websocket/jsr356/JSR356WebSocketComponentConfigurer.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.websocket.jsr356;
-
-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.support.component.PropertyConfigurerSupport;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@SuppressWarnings("unchecked")
-public class JSR356WebSocketComponentConfigurer extends 
PropertyConfigurerSupport implements GeneratedPropertyConfigurer, 
PropertyConfigurerGetter {
-
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String 
name, Object value, boolean ignoreCase) {
-        JSR356WebSocketComponent target = (JSR356WebSocketComponent) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "autowiredenabled":
-        case "autowiredEnabled": 
target.setAutowiredEnabled(property(camelContext, boolean.class, value)); 
return true;
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": 
target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); 
return true;
-        case "lazystartproducer":
-        case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
-        case "serverendpointdeploymentstrategy":
-        case "serverEndpointDeploymentStrategy": 
target.setServerEndpointDeploymentStrategy(property(camelContext, 
org.apache.camel.websocket.jsr356.ServerEndpointDeploymentStrategy.class, 
value)); return true;
-        default: return false;
-        }
-    }
-
-    @Override
-    public Class<?> getOptionType(String name, boolean ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "autowiredenabled":
-        case "autowiredEnabled": return boolean.class;
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return boolean.class;
-        case "lazystartproducer":
-        case "lazyStartProducer": return boolean.class;
-        case "serverendpointdeploymentstrategy":
-        case "serverEndpointDeploymentStrategy": return 
org.apache.camel.websocket.jsr356.ServerEndpointDeploymentStrategy.class;
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
-        JSR356WebSocketComponent target = (JSR356WebSocketComponent) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "autowiredenabled":
-        case "autowiredEnabled": return target.isAutowiredEnabled();
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return target.isBridgeErrorHandler();
-        case "lazystartproducer":
-        case "lazyStartProducer": return target.isLazyStartProducer();
-        case "serverendpointdeploymentstrategy":
-        case "serverEndpointDeploymentStrategy": return 
target.getServerEndpointDeploymentStrategy();
-        default: return null;
-        }
-    }
-}
-
diff --git 
a/components/camel-websocket-jsr356/src/generated/java/org/apache/camel/websocket/jsr356/JSR356WebSocketEndpointUriFactory.java
 
b/components/camel-websocket-jsr356/src/generated/java/org/apache/camel/websocket/jsr356/JSR356WebSocketEndpointUriFactory.java
deleted file mode 100644
index b982102b233..00000000000
--- 
a/components/camel-websocket-jsr356/src/generated/java/org/apache/camel/websocket/jsr356/JSR356WebSocketEndpointUriFactory.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.websocket.jsr356;
-
-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 JSR356WebSocketEndpointUriFactory extends 
org.apache.camel.support.component.EndpointUriFactorySupport implements 
EndpointUriFactory {
-
-    private static final String BASE = ":uri";
-
-    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<>(6);
-        props.add("bridgeErrorHandler");
-        props.add("exceptionHandler");
-        props.add("exchangePattern");
-        props.add("lazyStartProducer");
-        props.add("sessionCount");
-        props.add("uri");
-        PROPERTY_NAMES = Collections.unmodifiableSet(props);
-        SECRET_PROPERTY_NAMES = Collections.emptySet();
-        MULTI_VALUE_PREFIXES = Collections.emptySet();
-    }
-
-    @Override
-    public boolean isEnabled(String scheme) {
-        return "websocket-jsr356".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, "uri", null, false, 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-websocket-jsr356/src/generated/resources/META-INF/services/org/apache/camel/component.properties
 
b/components/camel-websocket-jsr356/src/generated/resources/META-INF/services/org/apache/camel/component.properties
deleted file mode 100644
index c927dd63ca5..00000000000
--- 
a/components/camel-websocket-jsr356/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=websocket-jsr356
-groupId=org.apache.camel
-artifactId=camel-websocket-jsr356
-version=4.0.0-SNAPSHOT
-projectName=Camel :: WebSocket JSR356
-projectDescription=Camel WebSocket using JSR356 (javax)
diff --git 
a/components/camel-websocket-jsr356/src/generated/resources/META-INF/services/org/apache/camel/component/websocket-jsr356
 
b/components/camel-websocket-jsr356/src/generated/resources/META-INF/services/org/apache/camel/component/websocket-jsr356
deleted file mode 100644
index ce89c50b727..00000000000
--- 
a/components/camel-websocket-jsr356/src/generated/resources/META-INF/services/org/apache/camel/component/websocket-jsr356
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.websocket.jsr356.JSR356WebSocketComponent
diff --git 
a/components/camel-websocket-jsr356/src/generated/resources/META-INF/services/org/apache/camel/configurer/websocket-jsr356-component
 
b/components/camel-websocket-jsr356/src/generated/resources/META-INF/services/org/apache/camel/configurer/websocket-jsr356-component
deleted file mode 100644
index 0f3fea572d1..00000000000
--- 
a/components/camel-websocket-jsr356/src/generated/resources/META-INF/services/org/apache/camel/configurer/websocket-jsr356-component
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.websocket.jsr356.JSR356WebSocketComponentConfigurer
diff --git 
a/components/camel-websocket-jsr356/src/generated/resources/META-INF/services/org/apache/camel/configurer/websocket-jsr356-endpoint
 
b/components/camel-websocket-jsr356/src/generated/resources/META-INF/services/org/apache/camel/configurer/websocket-jsr356-endpoint
deleted file mode 100644
index 5dcd6b02d76..00000000000
--- 
a/components/camel-websocket-jsr356/src/generated/resources/META-INF/services/org/apache/camel/configurer/websocket-jsr356-endpoint
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.websocket.jsr356.JSR356EndpointConfigurer
diff --git 
a/components/camel-websocket-jsr356/src/generated/resources/META-INF/services/org/apache/camel/urifactory/websocket-jsr356-endpoint
 
b/components/camel-websocket-jsr356/src/generated/resources/META-INF/services/org/apache/camel/urifactory/websocket-jsr356-endpoint
deleted file mode 100644
index 04f7fd91c0e..00000000000
--- 
a/components/camel-websocket-jsr356/src/generated/resources/META-INF/services/org/apache/camel/urifactory/websocket-jsr356-endpoint
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.websocket.jsr356.JSR356WebSocketEndpointUriFactory
diff --git 
a/components/camel-websocket-jsr356/src/generated/resources/org/apache/camel/websocket/jsr356/websocket-jsr356.json
 
b/components/camel-websocket-jsr356/src/generated/resources/org/apache/camel/websocket/jsr356/websocket-jsr356.json
deleted file mode 100644
index 36839fa7d9a..00000000000
--- 
a/components/camel-websocket-jsr356/src/generated/resources/org/apache/camel/websocket/jsr356/websocket-jsr356.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "name": "websocket-jsr356",
-    "title": "Javax Websocket",
-    "description": "Expose websocket endpoints using JSR356.",
-    "deprecated": false,
-    "firstVersion": "2.23.0",
-    "label": "http",
-    "javaType": "org.apache.camel.websocket.jsr356.JSR356WebSocketComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-websocket-jsr356",
-    "version": "4.0.0-SNAPSHOT",
-    "scheme": "websocket-jsr356",
-    "extendsScheme": "",
-    "syntax": "websocket-jsr356:uri",
-    "async": false,
-    "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 [...]
-    "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 [...]
-    "serverEndpointDeploymentStrategy": { "kind": "property", "displayName": 
"Server Endpoint Deployment Strategy", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.websocket.jsr356.ServerEndpointDeploymentStrategy", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
enable customization of how a WebSocket ServerEndpoint is configured and 
deployed. By default DefaultServerEndpointDeploymentStrategy is used." }
-  },
-  "headers": {
-    "jsr356.session": { "kind": "header", "displayName": "", "group": 
"common", "label": "", "required": false, "javaType": 
"jakarta.websocket.Session", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The session.", 
"constantName": "org.apache.camel.websocket.jsr356.JSR356Constants#SESSION" },
-    "jsr356.producer.session.incoming.use": { "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "Use incoming session", "constantName": 
"org.apache.camel.websocket.jsr356.JSR356Constants#USE_INCOMING_SESSION" }
-  },
-  "properties": {
-    "uri": { "kind": "path", "displayName": "Uri", "group": "common", "label": 
"", "required": false, "type": "string", "javaType": "java.net.URI", 
"deprecated": false, "autowired": false, "secret": false, "description": "If a 
schemeless URI path is provided, a ServerEndpoint is deployed under that path. 
Else if the URI is prefixed with the 'ws:\/\/' scheme, then a connection is 
established to the corresponding server" },
-    "sessionCount": { "kind": "parameter", "displayName": "Session Count", 
"group": "common", "label": "", "required": false, "type": "integer", 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 1, "description": "Used when the endpoint is in client mode to 
populate a pool of sessions" },
-    "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", 
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the exchange pattern when the consumer creates an 
exchange." },
-    "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 [...]
-  }
-}
diff --git 
a/components/camel-websocket-jsr356/src/main/docs/websocket-jsr356-component.adoc
 
b/components/camel-websocket-jsr356/src/main/docs/websocket-jsr356-component.adoc
deleted file mode 100644
index a402892c67b..00000000000
--- 
a/components/camel-websocket-jsr356/src/main/docs/websocket-jsr356-component.adoc
+++ /dev/null
@@ -1,53 +0,0 @@
-= Javax Websocket Component
-:doctitle: Javax Websocket
-:shortname: websocket-jsr356
-:artifactid: camel-websocket-jsr356
-:description: Expose websocket endpoints using JSR356.
-:since: 2.23
-:supportlevel: Stable
-:component-header: Both producer and consumer are supported
-//Manually maintained attributes
-:camel-spring-boot-name: websocket-jsr356
-
-*Since Camel {since}*
-
-*{component-header}*
-
-The JSR356 component provides websocket
-endpoints for communicating with clients using
-JSR356 (javax).
-
-== URI format
-
-To consume from the local instance on a particular `path` the messages:
-
-----
-websocket-jsr356://${path}
-----
-
-To consume from a remote instance - i.e. Camel will be a client - on a 
particular `uri` the messages:
-
-----
-websocket-jsr356://${uri}
-----
-
-
-
-// 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
-
-// component headers: START
-include::partial$component-endpoint-headers.adoc[]
-// component headers: END
-
-include::spring-boot:partial$starter.adoc[]
diff --git 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/CamelServerEndpoint.java
 
b/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/CamelServerEndpoint.java
deleted file mode 100644
index 8622514b09b..00000000000
--- 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/CamelServerEndpoint.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.websocket.jsr356;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collection;
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.function.BiConsumer;
-
-import jakarta.websocket.CloseReason;
-import jakarta.websocket.Endpoint;
-import jakarta.websocket.EndpointConfig;
-import jakarta.websocket.Session;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class CamelServerEndpoint extends Endpoint {
-    private final Logger log = 
LoggerFactory.getLogger(CamelServerEndpoint.class);
-
-    private final Collection<BiConsumer<Session, Object>> endpoints = new 
CopyOnWriteArrayList<>();
-
-    private Session session;
-
-    Collection<BiConsumer<Session, Object>> getEndpoints() {
-        return endpoints;
-    }
-
-    Session getSession() {
-        return session;
-    }
-
-    @Override
-    public void onOpen(final Session session, final EndpointConfig 
endpointConfig) {
-        this.session = session;
-        log.debug("Session opened #{}", session.getId());
-        session.addMessageHandler(InputStream.class, this::propagateExchange);
-        session.addMessageHandler(String.class, this::propagateExchange);
-    }
-
-    @Override
-    public void onClose(final Session session, final CloseReason closeReason) {
-        log.debug("Session closed #{}", session.getId());
-    }
-
-    @Override
-    public void onError(final Session session, final Throwable throwable) {
-        synchronized (session) {
-            if (session.isOpen()) {
-                try {
-                    session.close(new 
CloseReason(CloseReason.CloseCodes.CLOSED_ABNORMALLY, "an exception occurred"));
-                } catch (final IOException e) {
-                    log.debug("Error closing session #{}", session.getId(), e);
-                }
-            }
-        }
-        log.debug("Error on session #{}", session.getId(), throwable);
-    }
-
-    private void propagateExchange(final Object message) {
-        synchronized (session) {
-            endpoints.forEach(consumer -> consumer.accept(session, message));
-        }
-    }
-}
diff --git 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/ClientSessions.java
 
b/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/ClientSessions.java
deleted file mode 100644
index afced36577c..00000000000
--- 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/ClientSessions.java
+++ /dev/null
@@ -1,151 +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.websocket.jsr356;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.function.BiConsumer;
-import java.util.function.Consumer;
-import java.util.stream.IntStream;
-
-import jakarta.websocket.ClientEndpointConfig;
-import jakarta.websocket.CloseReason;
-import jakarta.websocket.ContainerProvider;
-import jakarta.websocket.DeploymentException;
-import jakarta.websocket.Endpoint;
-import jakarta.websocket.EndpointConfig;
-import jakarta.websocket.Session;
-import jakarta.websocket.WebSocketContainer;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static java.util.stream.Collectors.toList;
-
-class ClientSessions implements Closeable {
-    private final Logger log = LoggerFactory.getLogger(ClientSessions.class);
-
-    private final int expectedCount;
-    private final URI uri;
-    private final ClientEndpointConfig config;
-    private final WebSocketContainer container;
-    private final BlockingQueue<Session> sessions;
-    private final AtomicBoolean closed = new AtomicBoolean();
-    private final BiConsumer<Session, Object> onMessage;
-
-    ClientSessions(final int count, final URI uri, final ClientEndpointConfig 
config,
-                   final BiConsumer<Session, Object> onMessage) {
-        this.uri = uri;
-        this.expectedCount = count;
-        this.config = config;
-        this.onMessage = onMessage;
-        this.sessions = new ArrayBlockingQueue<>(expectedCount);
-        // todo: grab it from the context?
-        this.container = ContainerProvider.getWebSocketContainer();
-    }
-
-    public void prepare() {
-        sessions.addAll(IntStream.range(0, expectedCount).mapToObj(idx -> 
doConnect()).collect(toList()));
-    }
-
-    public void execute(final Consumer<Session> apply) {
-        Session session = null;
-        try {
-            session = sessions.take();
-            apply.accept(session);
-        } catch (final RuntimeException re) {
-            log.error(re.getMessage(), re);
-            if (session.isOpen()) {
-                try {
-                    session.close(new 
CloseReason(CloseReason.CloseCodes.CLOSED_ABNORMALLY, re.getMessage()));
-                } catch (final IOException errorOnClose) {
-                    log.debug(errorOnClose.getMessage(), errorOnClose);
-                }
-            }
-            session = null;
-            throw re;
-        } catch (final InterruptedException ex) {
-            Thread.currentThread().interrupt();
-        } finally {
-            if (session != null) {
-                sessions.offer(session);
-            }
-        }
-    }
-
-    private Session doConnect() {
-        try {
-            final Session session = container.connectToServer(new Endpoint() {
-                @Override
-                public void onOpen(final Session session, final EndpointConfig 
endpointConfig) {
-                    log.debug("Session opened #{}", session.getId());
-                }
-
-                @Override
-                public void onClose(final Session session, final CloseReason 
closeReason) {
-                    sessions.remove(session);
-                    log.debug("Session closed #{}", session.getId());
-                }
-
-                @Override
-                public void onError(final Session session, final Throwable 
throwable) {
-                    if (session.isOpen()) {
-                        try {
-                            session.close(
-                                    new 
CloseReason(CloseReason.CloseCodes.CLOSED_ABNORMALLY, "an exception occured"));
-                        } catch (final IOException e) {
-                            log.debug("Error closing session #{}", 
session.getId(), e);
-                        }
-                    }
-                    sessions.remove(session);
-                    log.debug("Error on session #{}", session.getId(), 
throwable);
-
-                    if (!closed.get()) { // try to repopulate it
-                        sessions.offer(doConnect());
-                    }
-                }
-            }, config, uri);
-            if (onMessage != null) {
-                session.addMessageHandler(InputStream.class, message -> 
onMessage.accept(session, message));
-                session.addMessageHandler(String.class, message -> 
onMessage.accept(session, message));
-            }
-            return session;
-        } catch (final DeploymentException | IOException e) {
-            throw new IllegalStateException(e);
-        }
-    }
-
-    @Override
-    public void close() {
-        closed.set(true);
-        sessions.forEach(it -> {
-            if (it.isOpen()) {
-                try {
-                    it.close();
-                } catch (final IOException e) {
-                    log.debug(e.getMessage(), e);
-                }
-            }
-        });
-        sessions.clear();
-    }
-}
diff --git 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/DefaultServerEndpointDeploymentStrategy.java
 
b/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/DefaultServerEndpointDeploymentStrategy.java
deleted file mode 100644
index 4d67ff2bb28..00000000000
--- 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/DefaultServerEndpointDeploymentStrategy.java
+++ /dev/null
@@ -1,32 +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.websocket.jsr356;
-
-import jakarta.websocket.DeploymentException;
-import jakarta.websocket.server.ServerContainer;
-import jakarta.websocket.server.ServerEndpointConfig.Builder;
-
-/**
- * Default {@link ServerEndpointDeploymentStrategy} to deploy a Websocket 
endpoint using the given configuration
- */
-public class DefaultServerEndpointDeploymentStrategy implements 
ServerEndpointDeploymentStrategy {
-
-    @Override
-    public void deploy(ServerContainer container, Builder configBuilder) 
throws DeploymentException {
-        container.addEndpoint(configBuilder.build());
-    }
-}
diff --git 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356Constants.java
 
b/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356Constants.java
deleted file mode 100644
index 73d04aa765e..00000000000
--- 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356Constants.java
+++ /dev/null
@@ -1,26 +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.websocket.jsr356;
-
-import org.apache.camel.spi.Metadata;
-
-public interface JSR356Constants {
-    @Metadata(description = "The session.", javaType = 
"jakarta.websocket.Session")
-    String SESSION = "jsr356.session";
-    @Metadata(label = "producer", description = "Use incoming session", 
javaType = "Boolean")
-    String USE_INCOMING_SESSION = "jsr356.producer.session.incoming.use";
-}
diff --git 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356Consumer.java
 
b/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356Consumer.java
deleted file mode 100644
index 758ea10a572..00000000000
--- 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356Consumer.java
+++ /dev/null
@@ -1,98 +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.websocket.jsr356;
-
-import java.net.URI;
-import java.util.function.BiConsumer;
-
-import jakarta.websocket.ClientEndpointConfig;
-import jakarta.websocket.Session;
-import jakarta.websocket.server.ServerEndpointConfig;
-
-import org.apache.camel.AsyncCallback;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.support.DefaultConsumer;
-
-import static java.util.Optional.ofNullable;
-
-public class JSR356Consumer extends DefaultConsumer {
-    private ClientSessions manager;
-    private Runnable closeTask;
-
-    private final BiConsumer<Session, Object> onMessage = (session, message) 
-> {
-        final Exchange exchange = createExchange(true);
-        exchange.getIn().setHeader(JSR356Constants.SESSION, session);
-        exchange.getIn().setBody(message);
-        // use default consumer callback
-        AsyncCallback cb = defaultConsumerCallback(exchange, true);
-        getAsyncProcessor().process(exchange, cb);
-    };
-
-    JSR356Consumer(final JSR356Endpoint jsr356Endpoint, final Processor 
processor) {
-        super(jsr356Endpoint, processor);
-    }
-
-    @Override
-    public JSR356Endpoint getEndpoint() {
-        return JSR356Endpoint.class.cast(super.getEndpoint());
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        super.doStart();
-        final URI uri = getEndpoint().getUri();
-        if (uri.getScheme() != null && uri.getScheme().equals("ws")) { // we 
act as a client
-            final ClientEndpointConfig.Builder clientConfig = 
ClientEndpointConfig.Builder.create();
-            manager = new ClientSessions(getEndpoint().getSessionCount(), uri, 
clientConfig.build(), onMessage);
-            manager.prepare();
-        } else {
-            final JSR356WebSocketComponent.ContextBag bag = 
JSR356WebSocketComponent.getContext(null);
-            final CamelServerEndpoint endpoint = 
bag.getEndpoints().get(uri.getPath());
-            if (endpoint == null) {
-                final ServerEndpointConfig.Builder configBuilder
-                        = 
ServerEndpointConfig.Builder.create(CamelServerEndpoint.class, uri.getPath());
-                final CamelServerEndpoint serverEndpoint = new 
CamelServerEndpoint();
-                bag.getEndpoints().put(uri.getPath(), serverEndpoint);
-                closeTask = addObserver(serverEndpoint);
-                configBuilder.configurator(new 
ServerEndpointConfig.Configurator() {
-                    @Override
-                    public <T> T getEndpointInstance(final Class<T> clazz) {
-                        return clazz.cast(serverEndpoint);
-                    }
-                });
-                final ServerEndpointDeploymentStrategy strategy
-                        = 
getEndpoint().getComponent().getServerEndpointDeploymentStrategy();
-                strategy.deploy(bag.getContainer(), configBuilder);
-            } else {
-                closeTask = addObserver(endpoint);
-            }
-        }
-    }
-
-    private Runnable addObserver(final CamelServerEndpoint endpoint) {
-        endpoint.getEndpoints().add(onMessage);
-        return () -> endpoint.getEndpoints().remove(onMessage);
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        ofNullable(manager).ifPresent(ClientSessions::close);
-        ofNullable(closeTask).ifPresent(Runnable::run);
-        super.doStop();
-    }
-}
diff --git 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356Endpoint.java
 
b/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356Endpoint.java
deleted file mode 100644
index 6e9927903b2..00000000000
--- 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356Endpoint.java
+++ /dev/null
@@ -1,79 +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.websocket.jsr356;
-
-import java.net.URI;
-
-import org.apache.camel.Category;
-import org.apache.camel.Consumer;
-import org.apache.camel.Processor;
-import org.apache.camel.Producer;
-import org.apache.camel.spi.UriEndpoint;
-import org.apache.camel.spi.UriParam;
-import org.apache.camel.spi.UriPath;
-import org.apache.camel.support.DefaultEndpoint;
-
-/**
- * Expose websocket endpoints using JSR356.
- */
-@UriEndpoint(firstVersion = "2.23.0", scheme = "websocket-jsr356", title = 
"Javax Websocket", syntax = "websocket-jsr356:uri",
-             category = { Category.HTTP }, headersClass = 
JSR356Constants.class)
-public class JSR356Endpoint extends DefaultEndpoint {
-    @UriPath(description = "If a schemeless URI path is provided, a 
ServerEndpoint is deployed under that path. "
-                           + "Else if the URI is prefixed with the 'ws://' 
scheme, then a connection is established to the corresponding server")
-    private URI uri;
-
-    @UriParam(description = "Used when the endpoint is in client mode to 
populate a pool of sessions", defaultValue = "1")
-    private int sessionCount = 1;
-
-    public JSR356Endpoint(final JSR356WebSocketComponent component, final 
String uri) {
-        super(uri, component);
-    }
-
-    @Override
-    public JSR356WebSocketComponent getComponent() {
-        return JSR356WebSocketComponent.class.cast(super.getComponent());
-    }
-
-    @Override
-    public Consumer createConsumer(final Processor processor) throws Exception 
{
-        Consumer consumer = new JSR356Consumer(this, processor);
-        configureConsumer(consumer);
-        return consumer;
-    }
-
-    @Override
-    public Producer createProducer() {
-        return new JSR356Producer(this);
-    }
-
-    public URI getUri() {
-        return uri;
-    }
-
-    public void setUri(URI uri) {
-        this.uri = uri;
-    }
-
-    public int getSessionCount() {
-        return sessionCount;
-    }
-
-    public void setSessionCount(final int sessionCount) {
-        this.sessionCount = sessionCount;
-    }
-}
diff --git 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356Producer.java
 
b/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356Producer.java
deleted file mode 100644
index 990da19ba2f..00000000000
--- 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356Producer.java
+++ /dev/null
@@ -1,103 +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.websocket.jsr356;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-import java.nio.ByteBuffer;
-import java.util.function.BiConsumer;
-
-import jakarta.websocket.ClientEndpointConfig;
-import jakarta.websocket.RemoteEndpoint;
-import jakarta.websocket.Session;
-
-import org.apache.camel.AsyncCallback;
-import org.apache.camel.Exchange;
-import org.apache.camel.support.DefaultAsyncProducer;
-import org.apache.camel.util.IOHelper;
-
-import static java.util.Optional.ofNullable;
-
-public class JSR356Producer extends DefaultAsyncProducer {
-    private ClientSessions manager;
-    private BiConsumer<Exchange, AsyncCallback> onExchange;
-
-    JSR356Producer(final JSR356Endpoint jsr356Endpoint) {
-        super(jsr356Endpoint);
-    }
-
-    @Override
-    public JSR356Endpoint getEndpoint() {
-        return JSR356Endpoint.class.cast(super.getEndpoint());
-    }
-
-    @Override
-    public boolean process(final Exchange exchange, final AsyncCallback 
callback) {
-        final Session session = 
exchange.getIn().getHeader(JSR356Constants.SESSION, Session.class);
-        if (session != null && 
exchange.getIn().getHeader(JSR356Constants.USE_INCOMING_SESSION, false, 
Boolean.class)) {
-            synchronized (session) {
-                doSend(exchange, callback, session);
-            }
-        } else {
-            onExchange.accept(exchange, callback);
-        }
-        return true;
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        super.doStart();
-        final URI uri = getEndpoint().getUri();
-        if (uri.getScheme() != null && !uri.getScheme().equals("ws")) {
-            throw new IllegalArgumentException(
-                    "WebSocket endpoint URI must be in the format: 
websocket-jsr356:ws://host:port/path");
-        }
-        final ClientEndpointConfig.Builder clientConfig = 
ClientEndpointConfig.Builder.create();
-        manager = new ClientSessions(getEndpoint().getSessionCount(), uri, 
clientConfig.build(), null);
-        manager.prepare();
-        onExchange = (exchange, callback) -> manager.execute(session -> 
doSend(exchange, callback, session));
-    }
-
-    private void doSend(final Exchange exchange, final AsyncCallback callback, 
final Session session) {
-        try {
-            Object body = exchange.getMessage().getBody();
-            synchronized (session) {
-                final RemoteEndpoint.Basic basicRemote = 
session.getBasicRemote();
-                if (String.class.isInstance(body)) {
-                    basicRemote.sendText(String.valueOf(body));
-                } else if (ByteBuffer.class.isInstance(body)) {
-                    basicRemote.sendBinary(ByteBuffer.class.cast(body));
-                } else if (InputStream.class.isInstance(body)) {
-                    IOHelper.copy(InputStream.class.cast(body), 
basicRemote.getSendStream());
-                } else {
-                    throw new IllegalArgumentException("Unsupported input: " + 
body);
-                }
-            }
-        } catch (final IOException e) {
-            exchange.setException(e);
-        } finally {
-            callback.done(true);
-        }
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        ofNullable(manager).ifPresent(ClientSessions::close);
-        super.doStop();
-    }
-}
diff --git 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356WebSocketComponent.java
 
b/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356WebSocketComponent.java
deleted file mode 100644
index 1bfe646df83..00000000000
--- 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/JSR356WebSocketComponent.java
+++ /dev/null
@@ -1,97 +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.websocket.jsr356;
-
-import java.net.URI;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import jakarta.websocket.server.ServerContainer;
-
-import org.apache.camel.Endpoint;
-import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.annotations.Component;
-import org.apache.camel.support.DefaultComponent;
-
-import static java.util.Optional.ofNullable;
-
-@Component("websocket-jsr356")
-public class JSR356WebSocketComponent extends DefaultComponent {
-
-    private static final Map<String, ContextBag> SERVER_CONTAINERS = new 
ConcurrentHashMap<>();
-
-    @Metadata(label = "advanced")
-    private ServerEndpointDeploymentStrategy serverEndpointDeploymentStrategy;
-
-    @Override
-    protected Endpoint createEndpoint(final String uri, final String 
remaining, final Map<String, Object> parameters)
-            throws Exception {
-        JSR356Endpoint endpoint = new JSR356Endpoint(this, uri);
-        endpoint.setUri(new URI(remaining));
-        setProperties(endpoint, parameters);
-        return endpoint;
-    }
-
-    public static void registerServer(final String contextPath, final 
ServerContainer container) {
-        SERVER_CONTAINERS.put(contextPath, new ContextBag(container));
-    }
-
-    public static void unregisterServer(final String contextPath) {
-        SERVER_CONTAINERS.remove(contextPath);
-    }
-
-    public static ContextBag getContext(final String context) {
-        return ofNullable(context)
-                .map(SERVER_CONTAINERS::get)
-                .orElseGet(() -> SERVER_CONTAINERS.size() == 1
-                        ? SERVER_CONTAINERS.values().iterator().next() : 
SERVER_CONTAINERS.get(""));
-    }
-
-    public ServerEndpointDeploymentStrategy 
getServerEndpointDeploymentStrategy() {
-        if (serverEndpointDeploymentStrategy == null) {
-            serverEndpointDeploymentStrategy = new 
DefaultServerEndpointDeploymentStrategy();
-        }
-        return serverEndpointDeploymentStrategy;
-    }
-
-    /**
-     * To enable customization of how a WebSocket ServerEndpoint is configured 
and deployed.
-     *
-     * By default {@link DefaultServerEndpointDeploymentStrategy} is used.
-     */
-    public void 
setServerEndpointDeploymentStrategy(ServerEndpointDeploymentStrategy 
serverEndpointDeploymentStrategy) {
-        this.serverEndpointDeploymentStrategy = 
serverEndpointDeploymentStrategy;
-    }
-
-    public static final class ContextBag {
-        private final ServerContainer container;
-        private final Map<String, CamelServerEndpoint> endpoints = new 
HashMap<>();
-
-        private ContextBag(final ServerContainer container) {
-            this.container = container;
-        }
-
-        public ServerContainer getContainer() {
-            return container;
-        }
-
-        public Map<String, CamelServerEndpoint> getEndpoints() {
-            return endpoints;
-        }
-    }
-}
diff --git 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/ServerEndpointDeploymentStrategy.java
 
b/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/ServerEndpointDeploymentStrategy.java
deleted file mode 100644
index 271d8f5a00b..00000000000
--- 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/ServerEndpointDeploymentStrategy.java
+++ /dev/null
@@ -1,36 +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.websocket.jsr356;
-
-import jakarta.websocket.DeploymentException;
-import jakarta.websocket.server.ServerContainer;
-import jakarta.websocket.server.ServerEndpointConfig.Builder;
-
-/**
- * A strategy to customize the configuration and deployment of WebSocket 
server endpoints.
- */
-public interface ServerEndpointDeploymentStrategy {
-
-    /**
-     * Provides the capability to customize how the WebSocket server endpoint 
is configured and deployed.
-     * 
-     * @param  container           The {@link ServerContainer} instance on 
which the endpoint will be deployed.
-     * @param  configBuilder       The {@link Builder} object to customize the 
endpoint configuration.
-     * @throws DeploymentException
-     */
-    void deploy(ServerContainer container, Builder configBuilder) throws 
DeploymentException;
-}
diff --git 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/ServletIntegration.java
 
b/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/ServletIntegration.java
deleted file mode 100644
index 5165aea3724..00000000000
--- 
a/components/camel-websocket-jsr356/src/main/java/org/apache/camel/websocket/jsr356/ServletIntegration.java
+++ /dev/null
@@ -1,47 +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.websocket.jsr356;
-
-import java.util.Set;
-
-import jakarta.servlet.ServletContainerInitializer;
-import jakarta.servlet.ServletContext;
-import jakarta.servlet.ServletContextEvent;
-import jakarta.servlet.ServletContextListener;
-import jakarta.websocket.server.ServerContainer;
-
-import static java.util.Optional.ofNullable;
-
-public class ServletIntegration implements ServletContainerInitializer {
-    @Override
-    public void onStartup(final Set<Class<?>> c, final ServletContext ctx) {
-        ctx.addListener(new ServletContextListener() {
-            @Override
-            public void contextInitialized(final ServletContextEvent sce) {
-                final String contextPath = 
sce.getServletContext().getContextPath();
-                
ofNullable(sce.getServletContext().getAttribute(ServerContainer.class.getName()))
-                        .map(ServerContainer.class::cast)
-                        .ifPresent(container -> 
JSR356WebSocketComponent.registerServer(contextPath, container));
-            }
-
-            @Override
-            public void contextDestroyed(final ServletContextEvent sce) {
-                
JSR356WebSocketComponent.unregisterServer(sce.getServletContext().getContextPath());
-            }
-        });
-    }
-}
diff --git 
a/components/camel-websocket-jsr356/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer
 
b/components/camel-websocket-jsr356/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer
deleted file mode 100644
index 7abc7796905..00000000000
--- 
a/components/camel-websocket-jsr356/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-org.apache.camel.websocket.jsr356.ServletIntegration
diff --git 
a/components/camel-websocket-jsr356/src/test/java/org/apache/camel/websocket/jsr356/GreetingEncoder.java
 
b/components/camel-websocket-jsr356/src/test/java/org/apache/camel/websocket/jsr356/GreetingEncoder.java
deleted file mode 100644
index 70614c8402e..00000000000
--- 
a/components/camel-websocket-jsr356/src/test/java/org/apache/camel/websocket/jsr356/GreetingEncoder.java
+++ /dev/null
@@ -1,39 +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.websocket.jsr356;
-
-import jakarta.websocket.Encoder;
-import jakarta.websocket.EndpointConfig;
-
-public class GreetingEncoder implements Encoder.Text<String> {
-
-    public GreetingEncoder() {
-    }
-
-    @Override
-    public void init(EndpointConfig endpointConfig) {
-    }
-
-    @Override
-    public void destroy() {
-    }
-
-    @Override
-    public String encode(String message) {
-        return "Hello " + message;
-    }
-}
diff --git 
a/components/camel-websocket-jsr356/src/test/java/org/apache/camel/websocket/jsr356/JSR356ConsumerTest.java
 
b/components/camel-websocket-jsr356/src/test/java/org/apache/camel/websocket/jsr356/JSR356ConsumerTest.java
deleted file mode 100644
index 612f7084668..00000000000
--- 
a/components/camel-websocket-jsr356/src/test/java/org/apache/camel/websocket/jsr356/JSR356ConsumerTest.java
+++ /dev/null
@@ -1,117 +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.websocket.jsr356;
-
-import java.io.IOException;
-import java.net.URI;
-
-import jakarta.enterprise.context.Dependent;
-import jakarta.websocket.ClientEndpointConfig;
-import jakarta.websocket.CloseReason;
-import jakarta.websocket.ContainerProvider;
-import jakarta.websocket.Endpoint;
-import jakarta.websocket.EndpointConfig;
-import jakarta.websocket.OnOpen;
-import jakarta.websocket.Session;
-import jakarta.websocket.WebSocketContainer;
-import jakarta.websocket.server.ServerEndpoint;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.apache.meecrowave.Meecrowave;
-import org.apache.meecrowave.junit5.MeecrowaveConfig;
-import org.apache.meecrowave.testing.ConfigurationInject;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtensionContext;
-
-@MeecrowaveConfig(scanningPackageIncludes = 
"org.apache.camel.websocket.jsr356.JSR356ConsumerTest$")
-public class JSR356ConsumerTest extends CamelTestSupport {
-
-    @ConfigurationInject
-    protected Meecrowave.Builder configuration;
-
-    protected String testMethodName;
-
-    @Override
-    public void beforeEach(ExtensionContext context) throws Exception {
-        super.beforeEach(context);
-        testMethodName = context.getRequiredTestMethod().getName();
-    }
-
-    @Test
-    public void ensureClientModeReceiveProperlyExchanges() throws Exception {
-        final String message = ExistingServerEndpoint.class.getName() + "#" + 
testMethodName;
-        final MockEndpoint mockEndpoint = getMockEndpoint("mock:" + 
testMethodName);
-        mockEndpoint.expectedBodiesReceived(message);
-        ExistingServerEndpoint.doSend(); // to avoid lifecycle issue during
-                                        // startup we send the message
-                                        // only here
-        mockEndpoint.assertIsSatisfied();
-        // note that this test leaks a connection
-    }
-
-    @Test
-    public void ensureServerModeReceiveProperlyExchanges() throws Exception {
-        final String message = getClass().getName() + "#" + testMethodName;
-        final MockEndpoint mockEndpoint = getMockEndpoint("mock:" + 
testMethodName);
-        mockEndpoint.expectedBodiesReceived(message);
-
-        final WebSocketContainer container = 
ContainerProvider.getWebSocketContainer();
-        final Session session = container.connectToServer(new Endpoint() {
-            @Override
-            public void onOpen(final Session session, final EndpointConfig 
config) {
-                // no-op
-            }
-        }, ClientEndpointConfig.Builder.create().build(),
-                URI.create("ws://localhost:" + configuration.getHttpPort() + 
"/test"));
-        session.getBasicRemote().sendText(message);
-        session.close(new CloseReason(CloseReason.CloseCodes.GOING_AWAY, 
"bye"));
-
-        mockEndpoint.assertIsSatisfied();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            public void configure() {
-                
from("websocket-jsr356:///test?sessionCount=5").id("camel_consumer_acts_as_server").convertBodyTo(String.class)
-                        .to("mock:ensureServerModeReceiveProperlyExchanges");
-
-                from("websocket-jsr356://ws://localhost:" + 
configuration.getHttpPort() + "/existingserver?sessionCount=5")
-                        .id("camel_consumer_acts_as_client")
-                        
.convertBodyTo(String.class).to("mock:ensureClientModeReceiveProperlyExchanges");
-            }
-        };
-    }
-
-    @Dependent
-    @ServerEndpoint("/existingserver")
-    public static class ExistingServerEndpoint {
-        private static Session session;
-
-        @OnOpen
-        public void onOpen(final Session session) {
-            this.session = session;
-        }
-
-        static void doSend() throws IOException {
-            session.getBasicRemote()
-                    .sendText(ExistingServerEndpoint.class.getName() + 
"#ensureClientModeReceiveProperlyExchanges");
-        }
-    }
-}
diff --git 
a/components/camel-websocket-jsr356/src/test/java/org/apache/camel/websocket/jsr356/JSR356ProducerTest.java
 
b/components/camel-websocket-jsr356/src/test/java/org/apache/camel/websocket/jsr356/JSR356ProducerTest.java
deleted file mode 100644
index c91ff3ddf45..00000000000
--- 
a/components/camel-websocket-jsr356/src/test/java/org/apache/camel/websocket/jsr356/JSR356ProducerTest.java
+++ /dev/null
@@ -1,85 +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.websocket.jsr356;
-
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.TimeUnit;
-
-import jakarta.enterprise.context.Dependent;
-import jakarta.websocket.OnMessage;
-import jakarta.websocket.server.ServerEndpoint;
-
-import org.apache.camel.Produce;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.apache.meecrowave.Meecrowave;
-import org.apache.meecrowave.junit5.MeecrowaveConfig;
-import org.apache.meecrowave.testing.ConfigurationInject;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtensionContext;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-@Disabled("TODO: Does not work with some deployment error in embedded JEE 
server")
-@MeecrowaveConfig(scanningPackageIncludes = 
"org.apache.camel.websocket.jsr356.JSR356ProducerTest$")
-public class JSR356ProducerTest extends CamelTestSupport {
-
-    private static LinkedBlockingQueue<String> messages = new 
LinkedBlockingQueue<>();
-
-    @ConfigurationInject
-    protected Meecrowave.Builder configuration;
-
-    protected String testMethodName;
-
-    @Produce("direct:ensureServerModeSendsProperly")
-    private ProducerTemplate serverProducer;
-
-    @Override
-    public void beforeEach(ExtensionContext context) throws Exception {
-        super.beforeEach(context);
-        testMethodName = context.getRequiredTestMethod().getName();
-    }
-
-    @Test
-    public void ensureServerModeSendsProperly() throws Exception {
-        final String body = getClass().getName() + "#" + testMethodName;
-        serverProducer.sendBody(body);
-        assertEquals(body, messages.poll(10, TimeUnit.SECONDS));
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            public void configure() {
-                
from("direct:ensureServerModeSendsProperly").id("camel_consumer_acts_as_client").convertBodyTo(String.class)
-                        .to("websocket-jsr356://ws://localhost:" + 
configuration.getHttpPort()
-                            + "/existingserver?sessionCount=5");
-            }
-        };
-    }
-
-    @Dependent
-    @ServerEndpoint("/existingserver")
-    public static class ExistingServerEndpoint {
-        @OnMessage
-        public void onMessage(final String message) {
-            messages.add(message);
-        }
-    }
-}
diff --git 
a/components/camel-websocket-jsr356/src/test/java/org/apache/camel/websocket/jsr356/ServerEndpointDeploymentStrategyTest.java
 
b/components/camel-websocket-jsr356/src/test/java/org/apache/camel/websocket/jsr356/ServerEndpointDeploymentStrategyTest.java
deleted file mode 100644
index 08910d29648..00000000000
--- 
a/components/camel-websocket-jsr356/src/test/java/org/apache/camel/websocket/jsr356/ServerEndpointDeploymentStrategyTest.java
+++ /dev/null
@@ -1,117 +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.websocket.jsr356;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.LinkedBlockingDeque;
-import java.util.concurrent.TimeUnit;
-
-import jakarta.websocket.ClientEndpointConfig;
-import jakarta.websocket.ContainerProvider;
-import jakarta.websocket.Encoder;
-import jakarta.websocket.Endpoint;
-import jakarta.websocket.EndpointConfig;
-import jakarta.websocket.MessageHandler;
-import jakarta.websocket.Session;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.RoutesBuilder;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.apache.meecrowave.Meecrowave;
-import org.apache.meecrowave.junit5.MeecrowaveConfig;
-import org.apache.meecrowave.testing.ConfigurationInject;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-@Disabled("TODO: Does not work with some deployment error in embedded JEE 
server")
-@MeecrowaveConfig(scanningPackageIncludes = 
"org.apache.camel.websocket.jsr356.ServerEndpointDeploymentStrategyTest$")
-public class ServerEndpointDeploymentStrategyTest extends CamelTestSupport {
-
-    @ConfigurationInject
-    Meecrowave.Builder configuration;
-
-    @Test
-    public void customDeploymentStrategyTest() throws Exception {
-        LinkedBlockingDeque<String> message = new LinkedBlockingDeque<>();
-        Session session = 
ContainerProvider.getWebSocketContainer().connectToServer(new Endpoint() {
-            @Override
-            public void onOpen(Session session, EndpointConfig endpointConfig) 
{
-                session.addMessageHandler(new MessageHandler.Whole<String>() {
-                    @Override
-                    public void onMessage(String s) {
-                        message.add(s);
-                    }
-                });
-                session.getAsyncRemote().sendText("Camel");
-            }
-        }, ClientEndpointConfig.Builder.create().build(), 
getEndpointURI("/greeting"));
-
-        try {
-            assertEquals("Hello Camel", message.poll(5, TimeUnit.SECONDS));
-        } finally {
-            session.close();
-        }
-    }
-
-    @Override
-    protected CamelContext createCamelContext() throws Exception {
-        CamelContext camelContext = super.createCamelContext();
-        JSR356WebSocketComponent component = new JSR356WebSocketComponent();
-
-        List<Class<? extends Encoder>> encoders = new ArrayList<>();
-        encoders.add(GreetingEncoder.class);
-
-        // Configure the ServerEndpoint with a custom Encoder
-        component.setServerEndpointDeploymentStrategy((container, 
configBuilder) -> {
-            configBuilder.encoders(encoders);
-            container.addEndpoint(configBuilder.build());
-        });
-
-        camelContext.addComponent("websocket-jsr356", component);
-        return camelContext;
-    }
-
-    @Override
-    protected RoutesBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            @Override
-            public void configure() {
-                from("websocket-jsr356:/greeting")
-                        .process(new Processor() {
-                            @Override
-                            public void process(Exchange exchange) {
-                                Session session = 
exchange.getMessage().getHeader(JSR356Constants.SESSION, Session.class);
-                                
session.getAsyncRemote().sendObject(exchange.getMessage().getBody(String.class));
-                            }
-                        });
-            }
-        };
-    }
-
-    private URI getEndpointURI(String path) throws URISyntaxException {
-        return new URI(String.format("ws://%s:%d/%s", configuration.getHost(), 
configuration.getHttpPort(), path));
-    }
-
-}
diff --git 
a/components/camel-websocket-jsr356/src/test/resources/log4j2.properties 
b/components/camel-websocket-jsr356/src/test/resources/log4j2.properties
deleted file mode 100644
index c9bdb915a17..00000000000
--- a/components/camel-websocket-jsr356/src/test/resources/log4j2.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements.  See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-
-appender.file.type = File
-appender.file.name = file
-appender.file.fileName = target/camel-websocket-jsr356-test.log
-appender.file.layout.type = PatternLayout
-appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-appender.out.type = Console
-appender.out.name = out
-appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-rootLogger.level = INFO
-rootLogger.appenderRef.file.ref = file
diff --git a/components/pom.xml b/components/pom.xml
index b5359c2c4f1..59ca30f66f0 100644
--- a/components/pom.xml
+++ b/components/pom.xml
@@ -311,7 +311,6 @@
         <module>camel-weather</module>
         <module>camel-web3j</module>
         <module>camel-webhook</module>
-        <module>camel-websocket-jsr356</module>
         <!--module>camel-websocket</module-->
         <module>camel-weka</module>
         <module>camel-whatsapp</module>
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 82d4c29e888..4537fb3747a 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
@@ -316,7 +316,6 @@ vm
 weather
 web3j
 webhook
-websocket-jsr356
 weka
 whatsapp
 wordpress
diff --git a/docs/components/modules/ROOT/examples/json/websocket-jsr356.json 
b/docs/components/modules/ROOT/examples/json/websocket-jsr356.json
deleted file mode 120000
index 6509ac0d312..00000000000
--- a/docs/components/modules/ROOT/examples/json/websocket-jsr356.json
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../components/camel-websocket-jsr356/src/generated/resources/org/apache/camel/websocket/jsr356/websocket-jsr356.json
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/nav.adoc 
b/docs/components/modules/ROOT/nav.adoc
index 9655a30da08..f464332c37d 100644
--- a/docs/components/modules/ROOT/nav.adoc
+++ b/docs/components/modules/ROOT/nav.adoc
@@ -163,7 +163,6 @@
 ** xref:influxdb2-component.adoc[InfluxDB2]
 ** xref:irc-component.adoc[IRC]
 ** xref:ironmq-component.adoc[IronMQ]
-** xref:websocket-jsr356-component.adoc[Javax Websocket]
 ** xref:jbpm-component.adoc[JBPM]
 ** xref:jcache-component.adoc[JCache]
 ** xref:jcr-component.adoc[JCR]
diff --git a/docs/components/modules/ROOT/pages/websocket-jsr356-component.adoc 
b/docs/components/modules/ROOT/pages/websocket-jsr356-component.adoc
deleted file mode 120000
index ed9c2f3c3aa..00000000000
--- a/docs/components/modules/ROOT/pages/websocket-jsr356-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-websocket-jsr356/src/main/docs/websocket-jsr356-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 19c5ee1ec78..8fc033a05ea 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
@@ -31,6 +31,7 @@ The following components has been removed:
 - camel-resteasy
 - camel-spark
 - camel-swagger-java
+- camel-websocket-jsr356
 - camel-xstream
 - camel-zikin
 
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 4e19be60898..d3d8b92daa8 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
@@ -4268,19 +4268,6 @@ public interface ComponentsBuilderFactory {
     static 
org.apache.camel.builder.component.dsl.WebhookComponentBuilderFactory.WebhookComponentBuilder
 webhook() {
         return 
org.apache.camel.builder.component.dsl.WebhookComponentBuilderFactory.webhook();
     }
-    /**
-     * Javax Websocket (camel-websocket-jsr356)
-     * Expose websocket endpoints using JSR356.
-     * 
-     * Category: http
-     * Since: 2.23
-     * Maven coordinates: org.apache.camel:camel-websocket-jsr356
-     * 
-     * @return the dsl builder
-     */
-    static 
org.apache.camel.builder.component.dsl.WebsocketJsr356ComponentBuilderFactory.WebsocketJsr356ComponentBuilder
 websocketJsr356() {
-        return 
org.apache.camel.builder.component.dsl.WebsocketJsr356ComponentBuilderFactory.websocketJsr356();
-    }
     /**
      * Weka (camel-weka)
      * Perform machine learning tasks using Weka.
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/WebsocketJsr356ComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/WebsocketJsr356ComponentBuilderFactory.java
deleted file mode 100644
index 0a38383f032..00000000000
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/WebsocketJsr356ComponentBuilderFactory.java
+++ /dev/null
@@ -1,163 +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.websocket.jsr356.JSR356WebSocketComponent;
-
-/**
- * Expose websocket endpoints using JSR356.
- * 
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
-public interface WebsocketJsr356ComponentBuilderFactory {
-
-    /**
-     * Javax Websocket (camel-websocket-jsr356)
-     * Expose websocket endpoints using JSR356.
-     * 
-     * Category: http
-     * Since: 2.23
-     * Maven coordinates: org.apache.camel:camel-websocket-jsr356
-     * 
-     * @return the dsl builder
-     */
-    static WebsocketJsr356ComponentBuilder websocketJsr356() {
-        return new WebsocketJsr356ComponentBuilderImpl();
-    }
-
-    /**
-     * Builder for the Javax Websocket component.
-     */
-    interface WebsocketJsr356ComponentBuilder
-            extends
-                ComponentBuilder<JSR356WebSocketComponent> {
-        /**
-         * 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 WebsocketJsr356ComponentBuilder bridgeErrorHandler(
-                boolean bridgeErrorHandler) {
-            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
-            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 WebsocketJsr356ComponentBuilder 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 WebsocketJsr356ComponentBuilder autowiredEnabled(
-                boolean autowiredEnabled) {
-            doSetProperty("autowiredEnabled", autowiredEnabled);
-            return this;
-        }
-        /**
-         * To enable customization of how a WebSocket ServerEndpoint is
-         * configured and deployed. By default
-         * DefaultServerEndpointDeploymentStrategy is used.
-         * 
-         * The option is a:
-         * 
&lt;code&gt;org.apache.camel.websocket.jsr356.ServerEndpointDeploymentStrategy&lt;/code&gt;
 type.
-         * 
-         * Group: advanced
-         * 
-         * @param serverEndpointDeploymentStrategy the value to set
-         * @return the dsl builder
-         */
-        default WebsocketJsr356ComponentBuilder 
serverEndpointDeploymentStrategy(
-                
org.apache.camel.websocket.jsr356.ServerEndpointDeploymentStrategy 
serverEndpointDeploymentStrategy) {
-            doSetProperty("serverEndpointDeploymentStrategy", 
serverEndpointDeploymentStrategy);
-            return this;
-        }
-    }
-
-    class WebsocketJsr356ComponentBuilderImpl
-            extends
-                AbstractComponentBuilder<JSR356WebSocketComponent>
-            implements
-                WebsocketJsr356ComponentBuilder {
-        @Override
-        protected JSR356WebSocketComponent buildConcreteComponent() {
-            return new JSR356WebSocketComponent();
-        }
-        @Override
-        protected boolean setPropertyOnComponent(
-                Component component,
-                String name,
-                Object value) {
-            switch (name) {
-            case "bridgeErrorHandler": ((JSR356WebSocketComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
-            case "lazyStartProducer": ((JSR356WebSocketComponent) 
component).setLazyStartProducer((boolean) value); return true;
-            case "autowiredEnabled": ((JSR356WebSocketComponent) 
component).setAutowiredEnabled((boolean) value); return true;
-            case "serverEndpointDeploymentStrategy": 
((JSR356WebSocketComponent) 
component).setServerEndpointDeploymentStrategy((org.apache.camel.websocket.jsr356.ServerEndpointDeploymentStrategy)
 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 cd286d547e6..2a96a0682eb 100644
--- a/dsl/camel-componentdsl/src/generated/resources/metadata.json
+++ b/dsl/camel-componentdsl/src/generated/resources/metadata.json
@@ -7052,28 +7052,6 @@
     "producerOnly": false,
     "lenientProperties": true
   },
-  "WebsocketJsr356ComponentBuilderFactory": {
-    "kind": "component",
-    "name": "websocket-jsr356",
-    "title": "Javax Websocket",
-    "description": "Expose websocket endpoints using JSR356.",
-    "deprecated": false,
-    "firstVersion": "2.23.0",
-    "label": "http",
-    "javaType": "org.apache.camel.websocket.jsr356.JSR356WebSocketComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-websocket-jsr356",
-    "version": "4.0.0-SNAPSHOT",
-    "scheme": "websocket-jsr356",
-    "extendsScheme": "",
-    "syntax": "websocket-jsr356:uri",
-    "async": false,
-    "api": false,
-    "consumerOnly": false,
-    "producerOnly": false,
-    "lenientProperties": false
-  },
   "WekaComponentBuilderFactory": {
     "kind": "component",
     "name": "weka",
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 9e9aa93e5f8..dd762eb1329 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
@@ -172,7 +172,6 @@ public interface EndpointBuilderFactory
             
org.apache.camel.builder.endpoint.dsl.JGroupsEndpointBuilderFactory.JGroupsBuilders,
             
org.apache.camel.builder.endpoint.dsl.JGroupsRaftEndpointBuilderFactory.JGroupsRaftBuilders,
             
org.apache.camel.builder.endpoint.dsl.JMXEndpointBuilderFactory.JMXBuilders,
-            
org.apache.camel.builder.endpoint.dsl.JSR356WebSocketEndpointBuilderFactory.JSR356WebSocketBuilders,
             
org.apache.camel.builder.endpoint.dsl.JcrEndpointBuilderFactory.JcrBuilders,
             
org.apache.camel.builder.endpoint.dsl.JdbcEndpointBuilderFactory.JdbcBuilders,
             
org.apache.camel.builder.endpoint.dsl.JettyHttp11EndpointBuilderFactory.JettyHttp11Builders,
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 172b6ae98ce..cb015b60f7f 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
@@ -169,7 +169,6 @@ public interface EndpointBuilders
             
org.apache.camel.builder.endpoint.dsl.JGroupsEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.JGroupsRaftEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.JMXEndpointBuilderFactory,
-            
org.apache.camel.builder.endpoint.dsl.JSR356WebSocketEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.JcrEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.JdbcEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.JettyHttp11EndpointBuilderFactory,
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 c7d302893fa..4b718574ddb 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
@@ -14758,53 +14758,6 @@ public class StaticEndpointBuilders {
             String path) {
         return 
org.apache.camel.builder.endpoint.dsl.WebhookEndpointBuilderFactory.endpointBuilder(componentName,
 path);
     }
-    /**
-     * Javax Websocket (camel-websocket-jsr356)
-     * Expose websocket endpoints using JSR356.
-     * 
-     * Category: http
-     * Since: 2.23
-     * Maven coordinates: org.apache.camel:camel-websocket-jsr356
-     * 
-     * Syntax: <code>websocket-jsr356:uri</code>
-     * 
-     * Path parameter: uri
-     * If a schemeless URI path is provided, a ServerEndpoint is deployed under
-     * that path. Else if the URI is prefixed with the 'ws://' scheme, then a
-     * connection is established to the corresponding server
-     * 
-     * @param path uri
-     * @return the dsl builder
-     */
-    public static 
org.apache.camel.builder.endpoint.dsl.JSR356WebSocketEndpointBuilderFactory.JSR356WebSocketEndpointBuilder
 websocketJsr356(
-            String path) {
-        return 
org.apache.camel.builder.endpoint.dsl.JSR356WebSocketEndpointBuilderFactory.endpointBuilder("websocket-jsr356",
 path);
-    }
-    /**
-     * Javax Websocket (camel-websocket-jsr356)
-     * Expose websocket endpoints using JSR356.
-     * 
-     * Category: http
-     * Since: 2.23
-     * Maven coordinates: org.apache.camel:camel-websocket-jsr356
-     * 
-     * Syntax: <code>websocket-jsr356:uri</code>
-     * 
-     * Path parameter: uri
-     * If a schemeless URI path is provided, a ServerEndpoint is deployed under
-     * that path. Else if the URI is prefixed with the 'ws://' scheme, then a
-     * connection is established to the corresponding server
-     * 
-     * @param componentName to use a custom component name for the endpoint
-     * instead of the default name
-     * @param path uri
-     * @return the dsl builder
-     */
-    public static 
org.apache.camel.builder.endpoint.dsl.JSR356WebSocketEndpointBuilderFactory.JSR356WebSocketEndpointBuilder
 websocketJsr356(
-            String componentName,
-            String path) {
-        return 
org.apache.camel.builder.endpoint.dsl.JSR356WebSocketEndpointBuilderFactory.endpointBuilder(componentName,
 path);
-    }
     /**
      * Weka (camel-weka)
      * Perform machine learning tasks using Weka.
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/JSR356WebSocketEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/JSR356WebSocketEndpointBuilderFactory.java
deleted file mode 100644
index faa7bac1c91..00000000000
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/JSR356WebSocketEndpointBuilderFactory.java
+++ /dev/null
@@ -1,480 +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;
-
-/**
- * Expose websocket endpoints using JSR356.
- * 
- * Generated by camel build tools - do NOT edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public interface JSR356WebSocketEndpointBuilderFactory {
-
-
-    /**
-     * Builder for endpoint consumers for the Javax Websocket component.
-     */
-    public interface JSR356WebSocketEndpointConsumerBuilder
-            extends
-                EndpointConsumerBuilder {
-        default AdvancedJSR356WebSocketEndpointConsumerBuilder advanced() {
-            return (AdvancedJSR356WebSocketEndpointConsumerBuilder) this;
-        }
-        /**
-         * Used when the endpoint is in client mode to populate a pool of
-         * sessions.
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1
-         * Group: common
-         * 
-         * @param sessionCount the value to set
-         * @return the dsl builder
-         */
-        default JSR356WebSocketEndpointConsumerBuilder sessionCount(
-                int sessionCount) {
-            doSetProperty("sessionCount", sessionCount);
-            return this;
-        }
-        /**
-         * Used when the endpoint is in client mode to populate a pool of
-         * sessions.
-         * 
-         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1
-         * Group: common
-         * 
-         * @param sessionCount the value to set
-         * @return the dsl builder
-         */
-        default JSR356WebSocketEndpointConsumerBuilder sessionCount(
-                String sessionCount) {
-            doSetProperty("sessionCount", sessionCount);
-            return this;
-        }
-    }
-
-    /**
-     * Advanced builder for endpoint consumers for the Javax Websocket
-     * component.
-     */
-    public interface AdvancedJSR356WebSocketEndpointConsumerBuilder
-            extends
-                EndpointConsumerBuilder {
-        default JSR356WebSocketEndpointConsumerBuilder basic() {
-            return (JSR356WebSocketEndpointConsumerBuilder) 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 AdvancedJSR356WebSocketEndpointConsumerBuilder 
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 AdvancedJSR356WebSocketEndpointConsumerBuilder 
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 AdvancedJSR356WebSocketEndpointConsumerBuilder 
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 AdvancedJSR356WebSocketEndpointConsumerBuilder 
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 AdvancedJSR356WebSocketEndpointConsumerBuilder 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 AdvancedJSR356WebSocketEndpointConsumerBuilder exchangePattern(
-                String exchangePattern) {
-            doSetProperty("exchangePattern", exchangePattern);
-            return this;
-        }
-    }
-
-    /**
-     * Builder for endpoint producers for the Javax Websocket component.
-     */
-    public interface JSR356WebSocketEndpointProducerBuilder
-            extends
-                EndpointProducerBuilder {
-        default AdvancedJSR356WebSocketEndpointProducerBuilder advanced() {
-            return (AdvancedJSR356WebSocketEndpointProducerBuilder) this;
-        }
-        /**
-         * Used when the endpoint is in client mode to populate a pool of
-         * sessions.
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1
-         * Group: common
-         * 
-         * @param sessionCount the value to set
-         * @return the dsl builder
-         */
-        default JSR356WebSocketEndpointProducerBuilder sessionCount(
-                int sessionCount) {
-            doSetProperty("sessionCount", sessionCount);
-            return this;
-        }
-        /**
-         * Used when the endpoint is in client mode to populate a pool of
-         * sessions.
-         * 
-         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1
-         * Group: common
-         * 
-         * @param sessionCount the value to set
-         * @return the dsl builder
-         */
-        default JSR356WebSocketEndpointProducerBuilder sessionCount(
-                String sessionCount) {
-            doSetProperty("sessionCount", sessionCount);
-            return this;
-        }
-    }
-
-    /**
-     * Advanced builder for endpoint producers for the Javax Websocket
-     * component.
-     */
-    public interface AdvancedJSR356WebSocketEndpointProducerBuilder
-            extends
-                EndpointProducerBuilder {
-        default JSR356WebSocketEndpointProducerBuilder basic() {
-            return (JSR356WebSocketEndpointProducerBuilder) 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 AdvancedJSR356WebSocketEndpointProducerBuilder 
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 AdvancedJSR356WebSocketEndpointProducerBuilder 
lazyStartProducer(
-                String lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-    }
-
-    /**
-     * Builder for endpoint for the Javax Websocket component.
-     */
-    public interface JSR356WebSocketEndpointBuilder
-            extends
-                JSR356WebSocketEndpointConsumerBuilder,
-                JSR356WebSocketEndpointProducerBuilder {
-        default AdvancedJSR356WebSocketEndpointBuilder advanced() {
-            return (AdvancedJSR356WebSocketEndpointBuilder) this;
-        }
-        /**
-         * Used when the endpoint is in client mode to populate a pool of
-         * sessions.
-         * 
-         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1
-         * Group: common
-         * 
-         * @param sessionCount the value to set
-         * @return the dsl builder
-         */
-        default JSR356WebSocketEndpointBuilder sessionCount(int sessionCount) {
-            doSetProperty("sessionCount", sessionCount);
-            return this;
-        }
-        /**
-         * Used when the endpoint is in client mode to populate a pool of
-         * sessions.
-         * 
-         * The option will be converted to a &lt;code&gt;int&lt;/code&gt; type.
-         * 
-         * Default: 1
-         * Group: common
-         * 
-         * @param sessionCount the value to set
-         * @return the dsl builder
-         */
-        default JSR356WebSocketEndpointBuilder sessionCount(String 
sessionCount) {
-            doSetProperty("sessionCount", sessionCount);
-            return this;
-        }
-    }
-
-    /**
-     * Advanced builder for endpoint for the Javax Websocket component.
-     */
-    public interface AdvancedJSR356WebSocketEndpointBuilder
-            extends
-                AdvancedJSR356WebSocketEndpointConsumerBuilder,
-                AdvancedJSR356WebSocketEndpointProducerBuilder {
-        default JSR356WebSocketEndpointBuilder basic() {
-            return (JSR356WebSocketEndpointBuilder) this;
-        }
-    }
-
-    public interface JSR356WebSocketBuilders {
-        /**
-         * Javax Websocket (camel-websocket-jsr356)
-         * Expose websocket endpoints using JSR356.
-         * 
-         * Category: http
-         * Since: 2.23
-         * Maven coordinates: org.apache.camel:camel-websocket-jsr356
-         * 
-         * @return the dsl builder for the headers' name.
-         */
-        default JSR356WebSocketHeaderNameBuilder websocketJsr356() {
-            return JSR356WebSocketHeaderNameBuilder.INSTANCE;
-        }
-        /**
-         * Javax Websocket (camel-websocket-jsr356)
-         * Expose websocket endpoints using JSR356.
-         * 
-         * Category: http
-         * Since: 2.23
-         * Maven coordinates: org.apache.camel:camel-websocket-jsr356
-         * 
-         * Syntax: <code>websocket-jsr356:uri</code>
-         * 
-         * Path parameter: uri
-         * If a schemeless URI path is provided, a ServerEndpoint is deployed
-         * under that path. Else if the URI is prefixed with the 'ws://' 
scheme,
-         * then a connection is established to the corresponding server
-         * 
-         * @param path uri
-         * @return the dsl builder
-         */
-        default JSR356WebSocketEndpointBuilder websocketJsr356(String path) {
-            return 
JSR356WebSocketEndpointBuilderFactory.endpointBuilder("websocket-jsr356", path);
-        }
-        /**
-         * Javax Websocket (camel-websocket-jsr356)
-         * Expose websocket endpoints using JSR356.
-         * 
-         * Category: http
-         * Since: 2.23
-         * Maven coordinates: org.apache.camel:camel-websocket-jsr356
-         * 
-         * Syntax: <code>websocket-jsr356:uri</code>
-         * 
-         * Path parameter: uri
-         * If a schemeless URI path is provided, a ServerEndpoint is deployed
-         * under that path. Else if the URI is prefixed with the 'ws://' 
scheme,
-         * then a connection is established to the corresponding server
-         * 
-         * @param componentName to use a custom component name for the endpoint
-         * instead of the default name
-         * @param path uri
-         * @return the dsl builder
-         */
-        default JSR356WebSocketEndpointBuilder websocketJsr356(
-                String componentName,
-                String path) {
-            return 
JSR356WebSocketEndpointBuilderFactory.endpointBuilder(componentName, path);
-        }
-    }
-
-    /**
-     * The builder of headers' name for the Javax Websocket component.
-     */
-    public static class JSR356WebSocketHeaderNameBuilder {
-        /**
-         * The internal instance of the builder used to access to all the
-         * methods representing the name of headers.
-         */
-        private static final JSR356WebSocketHeaderNameBuilder INSTANCE = new 
JSR356WebSocketHeaderNameBuilder();
-
-        /**
-         * The session.
-         * 
-         * The option is a: {@code jakarta.websocket.Session} type.
-         * 
-         * Group: common
-         * 
-         * @return the name of the header {@code jsr356.session}.
-         */
-        public String jsr356Session() {
-            return "jsr356.session";
-        }
-
-        /**
-         * Use incoming session.
-         * 
-         * The option is a: {@code Boolean} type.
-         * 
-         * Group: producer
-         * 
-         * @return the name of the header {@code
-         * jsr356.producer.session.incoming.use}.
-         */
-        public String jsr356ProducerSessionIncomingUse() {
-            return "jsr356.producer.session.incoming.use";
-        }
-    }
-    static JSR356WebSocketEndpointBuilder endpointBuilder(
-            String componentName,
-            String path) {
-        class JSR356WebSocketEndpointBuilderImpl extends 
AbstractEndpointBuilder implements JSR356WebSocketEndpointBuilder, 
AdvancedJSR356WebSocketEndpointBuilder {
-            public JSR356WebSocketEndpointBuilderImpl(String path) {
-                super(componentName, path);
-            }
-        }
-        return new JSR356WebSocketEndpointBuilderImpl(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 8499d01b7d5..64d7fdc2d85 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
@@ -335,4 +335,3 @@ 
org.apache.camel.component.zendesk.ZendeskComponent=camel:zendesk
 org.apache.camel.component.zookeeper.ZooKeeperComponent=camel:zookeeper
 
org.apache.camel.component.zookeepermaster.MasterComponent=camel:zookeeper-master
 org.apache.camel.oaipmh.component.OAIPMHComponent=camel:oaipmh
-org.apache.camel.websocket.jsr356.JSR356WebSocketComponent=camel:websocket-jsr356
diff --git a/parent/pom.xml b/parent/pom.xml
index e5c00d69f5a..79c83b3378b 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -2404,11 +2404,6 @@
                 <artifactId>camel-webhook</artifactId>
                 <version>${project.version}</version>
             </dependency>
-            <dependency>
-                <groupId>org.apache.camel</groupId>
-                <artifactId>camel-websocket-jsr356</artifactId>
-                <version>${project.version}</version>
-            </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
                 <artifactId>camel-weka</artifactId>

Reply via email to