You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gi...@apache.org on 2021/03/10 06:09:32 UTC

[camel-quarkus] branch quarkus-master updated (dae1d9a -> 0437bb4)

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

github-bot pushed a change to branch quarkus-master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git.


 discard dae1d9a  Azure extension native build fails with Quarkus 1.13 #2299
 discard 9019764  Fix #1918 to add a integration test with camel-jdbc and camel-jms
 discard 169f7f3  Remove support for Webocket JSR 356
 discard e05e12b  Upgrade to Quarkus 1.13.0.Final
     add 05334fc  Updated CHANGELOG.md
     add 60723e2  Updated link in testing doc
     new 6c52904  Upgrade to Quarkus 1.13.0.Final
     new fb88e81  Remove support for Webocket JSR 356
     new ea73bf4  Fix #1918 to add a integration test with camel-jdbc and camel-jms
     new 0437bb4  Azure extension native build fails with Quarkus 1.13 #2299

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (dae1d9a)
            \
             N -- N -- N   refs/heads/quarkus-master (0437bb4)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGELOG.md                                    | 4 ++--
 docs/modules/ROOT/pages/user-guide/testing.adoc | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)


[camel-quarkus] 04/04: Azure extension native build fails with Quarkus 1.13 #2299

Posted by gi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch quarkus-master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 0437bb494cc40c1ad0005bb7379b1e9095dbb182
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Tue Mar 2 17:09:06 2021 +0100

    Azure extension native build fails with Quarkus 1.13 #2299
---
 .../netty/graal/NettySslProviderSubstitutions.java | 50 ------------
 .../reactor/netty/graal/OpenSslSubstitutions.java  | 90 ----------------------
 .../netty/graal/SslProviderSubstitutions.java      | 42 ----------
 3 files changed, 182 deletions(-)

diff --git a/extensions-support/reactor-netty/runtime/src/main/java/org/apache/camel/quarkus/support/reactor/netty/graal/NettySslProviderSubstitutions.java b/extensions-support/reactor-netty/runtime/src/main/java/org/apache/camel/quarkus/support/reactor/netty/graal/NettySslProviderSubstitutions.java
deleted file mode 100644
index b3ed96a..0000000
--- a/extensions-support/reactor-netty/runtime/src/main/java/org/apache/camel/quarkus/support/reactor/netty/graal/NettySslProviderSubstitutions.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.support.reactor.netty.graal;
-
-import com.oracle.svm.core.annotate.Alias;
-import com.oracle.svm.core.annotate.Substitute;
-import com.oracle.svm.core.annotate.TargetClass;
-import io.netty.handler.ssl.JdkAlpnApplicationProtocolNegotiator;
-import io.netty.handler.ssl.SslProvider;
-
-//TODO: move this to quarkus-netty https://github.com/apache/camel-quarkus/issues/2142
-@TargetClass(SslProvider.class)
-final class NettySslProviderSubstitutions {
-    @Substitute
-    public static boolean isAlpnSupported(final SslProvider provider) {
-        switch (provider) {
-        case JDK:
-            return JdkAlpnApplicationProtocolNegotiatorSubstitutions.isAlpnSupported();
-        case OPENSSL:
-        case OPENSSL_REFCNT:
-            return false;
-        default:
-            throw new Error("SslProvider unsupported on Quarkus " + provider);
-        }
-    }
-
-}
-
-@TargetClass(JdkAlpnApplicationProtocolNegotiator.class)
-final class JdkAlpnApplicationProtocolNegotiatorSubstitutions {
-    @Alias
-    static boolean isAlpnSupported() {
-        return true;
-    }
-
-}
diff --git a/extensions-support/reactor-netty/runtime/src/main/java/org/apache/camel/quarkus/support/reactor/netty/graal/OpenSslSubstitutions.java b/extensions-support/reactor-netty/runtime/src/main/java/org/apache/camel/quarkus/support/reactor/netty/graal/OpenSslSubstitutions.java
deleted file mode 100644
index ad7d18e..0000000
--- a/extensions-support/reactor-netty/runtime/src/main/java/org/apache/camel/quarkus/support/reactor/netty/graal/OpenSslSubstitutions.java
+++ /dev/null
@@ -1,90 +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.quarkus.support.reactor.netty.graal;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
-
-import com.oracle.svm.core.annotate.Alias;
-import com.oracle.svm.core.annotate.RecomputeFieldValue;
-import com.oracle.svm.core.annotate.RecomputeFieldValue.Kind;
-import com.oracle.svm.core.annotate.Substitute;
-import com.oracle.svm.core.annotate.TargetClass;
-import io.netty.handler.ssl.OpenSsl;
-
-/**
- * JDK is the only supported SSL provider on Quarkus. We thus substitute the methods of {@link OpenSsl} to the effect
- * that OpenSSL is not available.
- */
-//TODO: move this to quarkus-netty https://github.com/apache/camel-quarkus/issues/2142
-@TargetClass(OpenSsl.class)
-final class OpenSslSubstitutions {
-
-    @Alias
-    @RecomputeFieldValue(kind = Kind.FromAlias)
-    private static Throwable UNAVAILABILITY_CAUSE = new RuntimeException("OpenSsl unsupported on Quarkus");
-
-    @Alias
-    @RecomputeFieldValue(kind = Kind.FromAlias)
-    static List<String> DEFAULT_CIPHERS = Collections.emptyList();
-
-    @Alias
-    @RecomputeFieldValue(kind = Kind.FromAlias)
-    static Set<String> AVAILABLE_CIPHER_SUITES = Collections.emptySet();
-
-    @Alias
-    @RecomputeFieldValue(kind = Kind.FromAlias)
-    private static Set<String> AVAILABLE_OPENSSL_CIPHER_SUITES = Collections.emptySet();
-
-    @Alias
-    @RecomputeFieldValue(kind = Kind.FromAlias)
-    private static Set<String> AVAILABLE_JAVA_CIPHER_SUITES = Collections.emptySet();
-
-    @Alias
-    @RecomputeFieldValue(kind = Kind.FromAlias)
-    private static boolean SUPPORTS_KEYMANAGER_FACTORY = false;
-
-    @Alias
-    @RecomputeFieldValue(kind = Kind.FromAlias)
-    private static boolean SUPPORTS_OCSP = false;
-
-    @Alias
-    @RecomputeFieldValue(kind = Kind.FromAlias)
-    static Set<String> SUPPORTED_PROTOCOLS_SET = Collections.emptySet();
-
-    @Substitute
-    public static boolean isAvailable() {
-        return false;
-    }
-
-    @Substitute
-    public static int version() {
-        return -1;
-    }
-
-    @Substitute
-    public static String versionString() {
-        return null;
-    }
-
-    @Substitute
-    public static boolean isCipherSuiteAvailable(String cipherSuite) {
-        return false;
-    }
-
-}
diff --git a/extensions-support/reactor-netty/runtime/src/main/java/org/apache/camel/quarkus/support/reactor/netty/graal/SslProviderSubstitutions.java b/extensions-support/reactor-netty/runtime/src/main/java/org/apache/camel/quarkus/support/reactor/netty/graal/SslProviderSubstitutions.java
deleted file mode 100644
index 511a09a..0000000
--- a/extensions-support/reactor-netty/runtime/src/main/java/org/apache/camel/quarkus/support/reactor/netty/graal/SslProviderSubstitutions.java
+++ /dev/null
@@ -1,42 +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.quarkus.support.reactor.netty.graal;
-
-import com.oracle.svm.core.annotate.Alias;
-import com.oracle.svm.core.annotate.Substitute;
-import com.oracle.svm.core.annotate.TargetClass;
-import io.netty.handler.ssl.IdentityCipherSuiteFilter;
-import io.netty.handler.ssl.SslContextBuilder;
-import reactor.netty.tcp.SslProvider;
-
-@TargetClass(SslProvider.class)
-//TODO: move this to quarkus-netty https://github.com/apache/camel-quarkus/issues/2142
-public final class SslProviderSubstitutions {
-
-    @Alias
-    SslContextBuilder sslContextBuilder;
-
-    @Substitute
-    void updateDefaultConfiguration() {
-        /* We hardcode the reactor.netty.tcp.SslProvider.DefaultConfigurationType.TCP path from the original method
-         * to avoid requiring io.netty.handler.ssl.OpenSsl */
-        sslContextBuilder.sslProvider(io.netty.handler.ssl.SslProvider.JDK)
-                .ciphers(null, IdentityCipherSuiteFilter.INSTANCE)
-                .applicationProtocolConfig(null);
-    }
-
-}


[camel-quarkus] 01/04: Upgrade to Quarkus 1.13.0.Final

Posted by gi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch quarkus-master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 6c52904b4f976e40f9ce6acf76c24a5519a4d1df
Author: James Netherton <ja...@gmail.com>
AuthorDate: Mon Feb 22 07:31:23 2021 +0000

    Upgrade to Quarkus 1.13.0.Final
---
 .../org/apache/camel/quarkus/component/hbase/it/HbaseTest.java     | 2 ++
 extensions-jvm/mybatis/integration-test/pom.xml                    | 4 ----
 extensions-support/debezium/deployment/pom.xml                     | 4 ++++
 extensions-support/debezium/runtime/pom.xml                        | 4 ++++
 extensions/pg-replication-slot/deployment/pom.xml                  | 4 ++++
 extensions/pg-replication-slot/runtime/pom.xml                     | 4 ++++
 integration-tests/sql/pom.xml                                      | 5 -----
 .../org/apache/camel/quarkus/component/sql/it/SqlResource.java     | 2 --
 integration-tests/sql/src/main/resources/application.properties    | 7 -------
 .../java/org/apache/camel/quarkus/component/sql/it/SqlTest.java    | 3 ---
 pom.xml                                                            | 2 +-
 11 files changed, 19 insertions(+), 22 deletions(-)

diff --git a/extensions-jvm/hbase/integration-test/src/test/java/org/apache/camel/quarkus/component/hbase/it/HbaseTest.java b/extensions-jvm/hbase/integration-test/src/test/java/org/apache/camel/quarkus/component/hbase/it/HbaseTest.java
index 1125aca..c686845 100644
--- a/extensions-jvm/hbase/integration-test/src/test/java/org/apache/camel/quarkus/component/hbase/it/HbaseTest.java
+++ b/extensions-jvm/hbase/integration-test/src/test/java/org/apache/camel/quarkus/component/hbase/it/HbaseTest.java
@@ -28,12 +28,14 @@ import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
 import org.apache.hadoop.hbase.client.Connection;
 import org.apache.hadoop.hbase.client.ConnectionFactory;
 import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.core.Is.is;
 
 @QuarkusTest
 @QuarkusTestResource(HBaseTestResource.class)
+@Disabled("https://github.com/apache/camel-quarkus/issues/2295")
 class HbaseTest {
 
     @Test
diff --git a/extensions-jvm/mybatis/integration-test/pom.xml b/extensions-jvm/mybatis/integration-test/pom.xml
index 2c3f859..5f290fe 100644
--- a/extensions-jvm/mybatis/integration-test/pom.xml
+++ b/extensions-jvm/mybatis/integration-test/pom.xml
@@ -51,10 +51,6 @@
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-resteasy</artifactId>
         </dependency>
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-jdbc-h2</artifactId>
-        </dependency>
 
         <!-- test dependencies -->
         <dependency>
diff --git a/extensions-support/debezium/deployment/pom.xml b/extensions-support/debezium/deployment/pom.xml
index 3e1622b..74015d5 100644
--- a/extensions-support/debezium/deployment/pom.xml
+++ b/extensions-support/debezium/deployment/pom.xml
@@ -35,6 +35,10 @@
             <artifactId>quarkus-core-deployment</artifactId>
         </dependency>
         <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-datasource-deployment</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-support-debezium</artifactId>
             <exclusions>
diff --git a/extensions-support/debezium/runtime/pom.xml b/extensions-support/debezium/runtime/pom.xml
index 46a4f6e..c8a4e13 100644
--- a/extensions-support/debezium/runtime/pom.xml
+++ b/extensions-support/debezium/runtime/pom.xml
@@ -52,6 +52,10 @@
             <artifactId>quarkus-core</artifactId>
         </dependency>
         <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-datasource</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.javassist</groupId>
             <artifactId>javassist</artifactId>
         </dependency>
diff --git a/extensions/pg-replication-slot/deployment/pom.xml b/extensions/pg-replication-slot/deployment/pom.xml
index b42c52f..58f7f5b 100644
--- a/extensions/pg-replication-slot/deployment/pom.xml
+++ b/extensions/pg-replication-slot/deployment/pom.xml
@@ -40,6 +40,10 @@
         </dependency>
         <dependency>
             <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-datasource-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
             <artifactId>quarkus-jdbc-postgresql-deployment</artifactId>
         </dependency>
     </dependencies>
diff --git a/extensions/pg-replication-slot/runtime/pom.xml b/extensions/pg-replication-slot/runtime/pom.xml
index e9b5c2b..5da5800 100644
--- a/extensions/pg-replication-slot/runtime/pom.xml
+++ b/extensions/pg-replication-slot/runtime/pom.xml
@@ -58,6 +58,10 @@
         </dependency>
         <dependency>
             <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-datasource</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
             <artifactId>quarkus-jdbc-postgresql</artifactId>
         </dependency>
     </dependencies>
diff --git a/integration-tests/sql/pom.xml b/integration-tests/sql/pom.xml
index 27801dd..fcf501e 100644
--- a/integration-tests/sql/pom.xml
+++ b/integration-tests/sql/pom.xml
@@ -50,11 +50,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-test-h2</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>io.rest-assured</groupId>
             <artifactId>rest-assured</artifactId>
             <scope>test</scope>
diff --git a/integration-tests/sql/src/main/java/org/apache/camel/quarkus/component/sql/it/SqlResource.java b/integration-tests/sql/src/main/java/org/apache/camel/quarkus/component/sql/it/SqlResource.java
index 5e47575..a9c3398 100644
--- a/integration-tests/sql/src/main/java/org/apache/camel/quarkus/component/sql/it/SqlResource.java
+++ b/integration-tests/sql/src/main/java/org/apache/camel/quarkus/component/sql/it/SqlResource.java
@@ -38,7 +38,6 @@ import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
 import io.agroal.api.AgroalDataSource;
-import io.quarkus.agroal.DataSource;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.quarkus.component.sql.it.model.Camel;
 import org.springframework.util.LinkedCaseInsensitiveMap;
@@ -48,7 +47,6 @@ import org.springframework.util.LinkedCaseInsensitiveMap;
 public class SqlResource {
 
     @Inject
-    @DataSource("camel-sql")
     AgroalDataSource dataSource;
 
     @Inject
diff --git a/integration-tests/sql/src/main/resources/application.properties b/integration-tests/sql/src/main/resources/application.properties
index 723b365..6ed39f3 100644
--- a/integration-tests/sql/src/main/resources/application.properties
+++ b/integration-tests/sql/src/main/resources/application.properties
@@ -16,13 +16,6 @@
 ## ---------------------------------------------------------------------------
 
 #
-# Quarkus Datasource
-#
-quarkus.datasource.camel-sql.jdbc.url=jdbc:h2:tcp://localhost/mem:test
-quarkus.datasource.camel-sql.db-kind=h2
-quarkus.datasource.camel-sql.jdbc.max-size=8
-
-#
 # Camel Quarkus SQL
 #
 quarkus.camel.sql.script-files=sql/get-camels.sql
diff --git a/integration-tests/sql/src/test/java/org/apache/camel/quarkus/component/sql/it/SqlTest.java b/integration-tests/sql/src/test/java/org/apache/camel/quarkus/component/sql/it/SqlTest.java
index d4b016d..c99995b 100644
--- a/integration-tests/sql/src/test/java/org/apache/camel/quarkus/component/sql/it/SqlTest.java
+++ b/integration-tests/sql/src/test/java/org/apache/camel/quarkus/component/sql/it/SqlTest.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.quarkus.component.sql.it;
 
-import io.quarkus.test.common.QuarkusTestResource;
-import io.quarkus.test.h2.H2DatabaseTestResource;
 import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.RestAssured;
 import io.restassured.http.ContentType;
@@ -26,7 +24,6 @@ import org.junit.jupiter.api.Test;
 import static org.hamcrest.Matchers.is;
 
 @QuarkusTest
-@QuarkusTestResource(H2DatabaseTestResource.class)
 class SqlTest {
 
     @Test
diff --git a/pom.xml b/pom.xml
index 654ee2d..b02b839 100644
--- a/pom.xml
+++ b/pom.xml
@@ -100,7 +100,7 @@
         <optaplanner.version>7.46.0.Final</optaplanner.version>
         <quarkiverse.freemarker.version>0.2.2</quarkiverse.freemarker.version>
         <quarkiverse-minio.version>0.2.0</quarkiverse-minio.version>
-        <quarkus.version>1.12.1.Final</quarkus.version>
+        <quarkus.version>999-SNAPSHOT</quarkus.version>
         <quarkus-google-cloud.version>0.3.0</quarkus-google-cloud.version>
         <quarkus-hazelcast-client.version>1.1.1</quarkus-hazelcast-client.version>
         <quarkus-qpid-jms.version>0.23.0</quarkus-qpid-jms.version>


[camel-quarkus] 03/04: Fix #1918 to add a integration test with camel-jdbc and camel-jms

Posted by gi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch quarkus-master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit ea73bf49413ddeff2d37346d909ba05710aa065d
Author: Amos Feng <zf...@redhat.com>
AuthorDate: Tue Dec 22 13:40:51 2020 +0800

    Fix #1918 to add a integration test with camel-jdbc and camel-jms
---
 integration-tests/jta/pom.xml                      | 30 +++++++++
 .../quarkus/component/jta/it/JtaResource.java      | 71 +++++++++++++++++++-
 .../camel/quarkus/component/jta/it/JtaRoutes.java  | 19 ++++++
 .../jta/it/XAConnectionFactoryConfiguration.java   | 44 +++++++++++++
 .../jta/src/main/resources/application.properties  | 24 +++++++
 .../component/jta/it/ActiveMQXATestResource.java   | 76 ++++++++++++++++++++++
 .../camel/quarkus/component/jta/it/JtaTest.java    | 32 +++++++++
 7 files changed, 295 insertions(+), 1 deletion(-)

diff --git a/integration-tests/jta/pom.xml b/integration-tests/jta/pom.xml
index 78c6cdb..5692a3a 100644
--- a/integration-tests/jta/pom.xml
+++ b/integration-tests/jta/pom.xml
@@ -49,12 +49,32 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-mock</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-jta</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-jms</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-jdbc</artifactId>
+        </dependency>
+        <dependency>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-resteasy</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-jdbc-h2</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-artemis-jms</artifactId>
+        </dependency>
 
         <!-- test dependencies -->
         <dependency>
@@ -63,10 +83,20 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-test-h2</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>io.rest-assured</groupId>
             <artifactId>rest-assured</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-integration-testcontainers-support</artifactId>
+            <scope>test</scope>
+        </dependency>
 
         <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
         <dependency>
diff --git a/integration-tests/jta/src/main/java/org/apache/camel/quarkus/component/jta/it/JtaResource.java b/integration-tests/jta/src/main/java/org/apache/camel/quarkus/component/jta/it/JtaResource.java
index 5c757a5..e73a658 100644
--- a/integration-tests/jta/src/main/java/org/apache/camel/quarkus/component/jta/it/JtaResource.java
+++ b/integration-tests/jta/src/main/java/org/apache/camel/quarkus/component/jta/it/JtaResource.java
@@ -17,11 +17,17 @@
 package org.apache.camel.quarkus.component.jta.it;
 
 import java.net.URI;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.List;
 
+import javax.annotation.PostConstruct;
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Inject;
 import javax.transaction.Transactional;
 import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
 import javax.ws.rs.POST;
 import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
@@ -29,18 +35,43 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
+import io.agroal.api.AgroalDataSource;
+import io.quarkus.agroal.DataSource;
+import org.apache.camel.CamelContext;
+import org.apache.camel.Exchange;
+import org.apache.camel.Message;
 import org.apache.camel.ProducerTemplate;
+import org.apache.camel.component.mock.MockEndpoint;
 import org.jboss.logging.Logger;
 
 @Path("/jta")
 @ApplicationScoped
 public class JtaResource {
-
     private static final Logger LOG = Logger.getLogger(JtaResource.class);
 
     @Inject
+    @DataSource("camel-ds")
+    AgroalDataSource dataSource;
+
+    @Inject
     ProducerTemplate producerTemplate;
 
+    @Inject
+    CamelContext context;
+
+    @PostConstruct
+    void postConstruct() throws SQLException {
+        try (Connection conn = dataSource.getConnection()) {
+            try (Statement statement = conn.createStatement()) {
+                try {
+                    statement.execute("drop table example");
+                } catch (Exception ignored) {
+                }
+                statement.execute("create table example (id serial primary key, message varchar(255) not null)");
+            }
+        }
+    }
+
     @Path("/{policy}")
     @POST
     @Consumes(MediaType.TEXT_PLAIN)
@@ -64,4 +95,42 @@ public class JtaResource {
         return post(policy, message);
     }
 
+    @Path("/jdbc")
+    @POST
+    @Consumes(MediaType.TEXT_PLAIN)
+    @Produces(MediaType.TEXT_PLAIN)
+    public Response jdbc(String message) throws Exception {
+        LOG.infof("message is %s", message);
+        MockEndpoint mockEndpoint = context.getEndpoint("mock:txResult", MockEndpoint.class);
+        mockEndpoint.reset();
+        if (!message.equals("fail")) {
+            mockEndpoint.expectedMessageCount(1);
+            mockEndpoint.message(0).body().isEqualTo(message);
+        }
+        final String response = producerTemplate.requestBody("direct:transaction", message, String.class);
+        mockEndpoint.assertIsSatisfied(15000);
+
+        LOG.infof("Got response from jta: %s", response);
+        return Response
+                .created(new URI("https://camel.apache.org/"))
+                .entity(response)
+                .build();
+    }
+
+    @Path("/mock")
+    @GET
+    @Consumes(MediaType.TEXT_PLAIN)
+    @Produces(MediaType.TEXT_PLAIN)
+    public Response mock() throws Exception {
+        MockEndpoint mockEndpoint = context.getEndpoint("mock:txResult", MockEndpoint.class);
+        List<Exchange> exchanges = mockEndpoint.getExchanges();
+        if (exchanges.isEmpty()) {
+            return Response.ok().entity("empty").build();
+        } else {
+            Message message = exchanges.get(0).getMessage();
+
+            LOG.infof("mock message is " + message.getBody());
+            return Response.ok().entity(message.getBody()).build();
+        }
+    }
 }
diff --git a/integration-tests/jta/src/main/java/org/apache/camel/quarkus/component/jta/it/JtaRoutes.java b/integration-tests/jta/src/main/java/org/apache/camel/quarkus/component/jta/it/JtaRoutes.java
index a2fd01f..bb6b277 100644
--- a/integration-tests/jta/src/main/java/org/apache/camel/quarkus/component/jta/it/JtaRoutes.java
+++ b/integration-tests/jta/src/main/java/org/apache/camel/quarkus/component/jta/it/JtaRoutes.java
@@ -47,5 +47,24 @@ public class JtaRoutes extends RouteBuilder {
 
         from("direct:not_supported")
                 .transacted("PROPAGATION_NOT_SUPPORTED").transform().constant("not_supported");
+
+        from("direct:transaction")
+                .transacted()
+                .setHeader("message", body())
+                .to("jms:queue:txTest?connectionFactory=#xaConnectionFactory&disableReplyTo=true")
+                .transform().simple("insert into example(message) values ('${body}')")
+                .to("jdbc:camel-ds?resetAutoCommit=false")
+                .choice()
+                .when(header("message").startsWith("fail"))
+                .log("Failing forever with exception")
+                .process(x -> {
+                    throw new RuntimeException("Fail");
+                })
+                .otherwise()
+                .transform().simple("${header.message} added")
+                .endChoice();
+
+        from("jms:queue:txTest?connectionFactory=#xaConnectionFactory")
+                .to("mock:txResult");
     }
 }
diff --git a/integration-tests/jta/src/main/java/org/apache/camel/quarkus/component/jta/it/XAConnectionFactoryConfiguration.java b/integration-tests/jta/src/main/java/org/apache/camel/quarkus/component/jta/it/XAConnectionFactoryConfiguration.java
new file mode 100644
index 0000000..f5d487b
--- /dev/null
+++ b/integration-tests/jta/src/main/java/org/apache/camel/quarkus/component/jta/it/XAConnectionFactoryConfiguration.java
@@ -0,0 +1,44 @@
+/*
+ * 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.quarkus.component.jta.it;
+
+import javax.enterprise.context.Dependent;
+import javax.enterprise.inject.Produces;
+import javax.inject.Named;
+import javax.jms.ConnectionFactory;
+import javax.jms.XAConnectionFactory;
+import javax.transaction.TransactionManager;
+
+import io.quarkus.artemis.core.runtime.ArtemisRuntimeConfig;
+import org.apache.activemq.artemis.jms.client.ActiveMQXAConnectionFactory;
+import org.jboss.narayana.jta.jms.ConnectionFactoryProxy;
+import org.jboss.narayana.jta.jms.TransactionHelperImpl;
+
+@Dependent
+public class XAConnectionFactoryConfiguration {
+
+    // This class should be remove if https://github.com/quarkusio/quarkus/issues/14871 resolved
+    // And the ConnectionFactory could be integrated with TransactionManager
+    @Produces
+    @Named("xaConnectionFactory")
+    public ConnectionFactory getXAConnectionFactory(TransactionManager tm, ArtemisRuntimeConfig config) {
+        XAConnectionFactory cf = new ActiveMQXAConnectionFactory(
+                config.url, config.username.orElse(null), config.password.orElse(null));
+        return new ConnectionFactoryProxy(cf, new TransactionHelperImpl(tm));
+
+    }
+}
diff --git a/integration-tests/jta/src/main/resources/application.properties b/integration-tests/jta/src/main/resources/application.properties
new file mode 100644
index 0000000..dcd0d95
--- /dev/null
+++ b/integration-tests/jta/src/main/resources/application.properties
@@ -0,0 +1,24 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+#
+# Quarkus :: DS
+#
+quarkus.datasource.camel-ds.jdbc.url=jdbc:h2:tcp://localhost/mem:test
+quarkus.datasource.camel-ds.db-kind=h2
+quarkus.datasource.camel-ds.jdbc.max-size=8
+quarkus.datasource.camel-ds.jdbc.transactions=xa
diff --git a/integration-tests/jta/src/test/java/org/apache/camel/quarkus/component/jta/it/ActiveMQXATestResource.java b/integration-tests/jta/src/test/java/org/apache/camel/quarkus/component/jta/it/ActiveMQXATestResource.java
new file mode 100644
index 0000000..823b311
--- /dev/null
+++ b/integration-tests/jta/src/test/java/org/apache/camel/quarkus/component/jta/it/ActiveMQXATestResource.java
@@ -0,0 +1,76 @@
+/*
+ * 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.quarkus.component.jta.it;
+
+import java.util.Map;
+
+import io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
+import org.apache.camel.util.CollectionHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.containers.output.Slf4jLogConsumer;
+import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.utility.TestcontainersConfiguration;
+
+public class ActiveMQXATestResource implements QuarkusTestResourceLifecycleManager {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(ActiveMQXATestResource.class);
+    private static final String ACTIVEMQ_IMAGE = "vromero/activemq-artemis:2.11.0-alpine";
+    private static final String ACTIVEMQ_USERNAME = "artemis";
+    private static final String ACTIVEMQ_PASSWORD = "simetraehcapa";
+    private static final int ACTIVEMQ_PORT = 61616;
+
+    private GenericContainer<?> container;
+
+    @Override
+    public Map<String, String> start() {
+        LOGGER.info(TestcontainersConfiguration.getInstance().toString());
+
+        try {
+            container = new GenericContainer<>(ACTIVEMQ_IMAGE)
+                    .withExposedPorts(ACTIVEMQ_PORT)
+                    .withLogConsumer(new Slf4jLogConsumer(LOGGER))
+                    .withEnv("BROKER_CONFIG_MAX_DISK_USAGE", "100")
+                    .waitingFor(Wait.forListeningPort());
+
+            container.start();
+
+            String brokerUrlTcp = String.format("tcp://%s:%d/", container.getContainerIpAddress(),
+                    container.getMappedPort(ACTIVEMQ_PORT));
+
+            return CollectionHelper.mapOf(
+                    "quarkus.artemis.url", brokerUrlTcp,
+                    "quarkus.artemis.username", ACTIVEMQ_USERNAME,
+                    "quarkus.artemis.password", ACTIVEMQ_PASSWORD);
+
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    @Override
+    public void stop() {
+        try {
+            if (container != null) {
+                container.stop();
+            }
+        } catch (Exception e) {
+            // ignored
+        }
+    }
+}
diff --git a/integration-tests/jta/src/test/java/org/apache/camel/quarkus/component/jta/it/JtaTest.java b/integration-tests/jta/src/test/java/org/apache/camel/quarkus/component/jta/it/JtaTest.java
index bf7382c..95dcd1c 100644
--- a/integration-tests/jta/src/test/java/org/apache/camel/quarkus/component/jta/it/JtaTest.java
+++ b/integration-tests/jta/src/test/java/org/apache/camel/quarkus/component/jta/it/JtaTest.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.quarkus.component.jta.it;
 
+import io.quarkus.test.common.QuarkusTestResource;
+import io.quarkus.test.h2.H2DatabaseTestResource;
 import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.RestAssured;
 import io.restassured.http.ContentType;
@@ -24,6 +26,8 @@ import org.junit.jupiter.api.Test;
 import static org.hamcrest.Matchers.is;
 
 @QuarkusTest
+@QuarkusTestResource(H2DatabaseTestResource.class)
+@QuarkusTestResource(ActiveMQXATestResource.class)
 class JtaTest {
 
     @Test
@@ -131,4 +135,32 @@ class JtaTest {
                 .statusCode(201)
                 .body(is("not_supported"));
     }
+
+    @Test
+    public void testJdbcInTx() {
+        final String msg = java.util.UUID.randomUUID().toString().replace("-", "");
+
+        RestAssured.given()
+                .contentType(ContentType.TEXT)
+                .body(msg)
+                .post("/jta/jdbc")
+                .then()
+                .statusCode(201)
+                .body(is(msg + " added"));
+
+        RestAssured.given()
+                .contentType(ContentType.TEXT)
+                .body("fail")
+                .post("/jta/jdbc")
+                .then()
+                .statusCode(500);
+
+        RestAssured.given()
+                .contentType(ContentType.TEXT)
+                .get("/jta/mock")
+                .then()
+                .statusCode(200)
+                .body(is("empty"))
+                .log();
+    }
 }


[camel-quarkus] 02/04: Remove support for Webocket JSR 356

Posted by gi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch quarkus-master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit fb88e816eaf17286d47e0acdfbc7fa8e1e2d0df2
Author: James Netherton <ja...@gmail.com>
AuthorDate: Mon Feb 22 07:39:24 2021 +0000

    Remove support for Webocket JSR 356
    
    Fixes #2262
---
 catalog/pom.xml                                    |  13 ---
 docs/modules/ROOT/nav.adoc                         |   1 -
 .../reference/extensions/websocket-jsr356.adoc     |  65 ------------
 .../reference/components/websocket-jsr356.adoc     |  14 +--
 extensions/pom.xml                                 |   1 -
 extensions/websocket-jsr356/deployment/pom.xml     |  65 ------------
 .../deployment/WebSocketJSR356Processor.java       |  76 --------------
 extensions/websocket-jsr356/pom.xml                |  37 -------
 extensions/websocket-jsr356/runtime/pom.xml        | 114 ---------------------
 .../runtime/src/main/doc/configuration.adoc        |  11 --
 .../jsr356/CamelWebSocketJSR356Config.java         |  34 ------
 .../CamelWebSocketJSR356EndpointConfigurator.java  |  35 -------
 .../jsr356/CamelWebSocketJSR356Recorder.java       |  73 -------------
 .../main/resources/META-INF/quarkus-extension.yaml |  32 ------
 integration-tests/pom.xml                          |   1 -
 integration-tests/websocket-jsr356/pom.xml         | 101 ------------------
 .../websocket/jsr356/it/WebSocketRoutes.java       |  35 -------
 .../src/main/resources/application.properties      |  19 ----
 .../websocket/jsr356/it/WebSocketJSR356IT.java     |  24 -----
 .../websocket/jsr356/it/WebSocketJSR356Test.java   |  62 -----------
 poms/bom/pom.xml                                   |  15 ---
 tooling/scripts/test-categories.yaml               |   1 -
 22 files changed, 1 insertion(+), 828 deletions(-)

diff --git a/catalog/pom.xml b/catalog/pom.xml
index e478b8b..9fe307f 100644
--- a/catalog/pom.xml
+++ b/catalog/pom.xml
@@ -4209,19 +4209,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-websocket-jsr356</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-weka</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 1c8b8df..0f5b892 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -155,7 +155,6 @@
 *** xref:reference/extensions/ipfs.adoc[IPFS]
 *** xref:reference/extensions/irc.adoc[IRC]
 *** xref:reference/extensions/jacksonxml.adoc[JacksonXML]
-*** xref:reference/extensions/websocket-jsr356.adoc[Javax Websocket]
 *** xref:reference/extensions/jaxb.adoc[JAXB]
 *** xref:reference/extensions/jbpm.adoc[JBPM]
 *** xref:reference/extensions/jclouds.adoc[JClouds]
diff --git a/docs/modules/ROOT/pages/reference/extensions/websocket-jsr356.adoc b/docs/modules/ROOT/pages/reference/extensions/websocket-jsr356.adoc
deleted file mode 100644
index 7aa5c98..0000000
--- a/docs/modules/ROOT/pages/reference/extensions/websocket-jsr356.adoc
+++ /dev/null
@@ -1,65 +0,0 @@
-// Do not edit directly!
-// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
-= Javax Websocket (JSR 356)
-:page-aliases: extensions/websocket-jsr356.adoc
-:cq-artifact-id: camel-quarkus-websocket-jsr356
-:cq-native-supported: true
-:cq-status: Stable
-:cq-description: Expose websocket endpoints using JSR356.
-:cq-deprecated: false
-:cq-jvm-since: 1.0.0
-:cq-native-since: 1.0.0
-
-[.badges]
-[.badge-key]##JVM since##[.badge-supported]##1.0.0## [.badge-key]##Native since##[.badge-supported]##1.0.0##
-
-Expose websocket endpoints using JSR356.
-
-== What's inside
-
-* xref:{cq-camel-components}::websocket-jsr356-component.adoc[Javax Websocket component], URI syntax: `websocket-jsr356:uri`
-
-Please refer to the above link for usage and configuration details.
-
-== Maven coordinates
-
-[source,xml]
-----
-<dependency>
-    <groupId>org.apache.camel.quarkus</groupId>
-    <artifactId>camel-quarkus-websocket-jsr356</artifactId>
-</dependency>
-----
-
-Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications.
-
-== Additional Camel Quarkus configuration
-
-When using WebSocket consumers (E.g `from("websocket-jsr356:/some/path")`), you must first register the endpoint paths via
-the `server-endpoint-paths` configuration property.
-
-For example:
-
-[source,properties]
-----
-quarkus.camel.websocket-jsr356.server-endpoint-paths=/foo,/foo/bar,/foo/bar/cheese
-----
-
-Note that paths are relative to the value of `quarkus.http.root-path`.
-
-
-[width="100%",cols="80,5,15",options="header"]
-|===
-| Configuration property | Type | Default
-
-
-|icon:lock[title=Fixed at build time] [[quarkus.camel.websocket-jsr356.server-endpoint-paths]]`link:#quarkus.camel.websocket-jsr356.server-endpoint-paths[quarkus.camel.websocket-jsr356.server-endpoint-paths]`
-
-A comma separated list of server endpoint paths that the websocket consumer will bind to.
-| `string`
-| 
-|===
-
-[.configuration-legend]
-icon:lock[title=Fixed at build time] Configuration property fixed at build time. All other configuration properties are overridable at runtime.
-
diff --git a/docs/modules/ROOT/partials/reference/components/websocket-jsr356.adoc b/docs/modules/ROOT/partials/reference/components/websocket-jsr356.adoc
index 98803d4..a509c1d 100644
--- a/docs/modules/ROOT/partials/reference/components/websocket-jsr356.adoc
+++ b/docs/modules/ROOT/partials/reference/components/websocket-jsr356.adoc
@@ -1,13 +1 @@
-// Do not edit directly!
-// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
-:cq-artifact-id: camel-quarkus-websocket-jsr356
-:cq-artifact-id-base: websocket-jsr356
-:cq-native-supported: true
-:cq-status: Stable
-:cq-deprecated: false
-:cq-jvm-since: 1.0.0
-:cq-native-since: 1.0.0
-:cq-camel-part-name: websocket-jsr356
-:cq-camel-part-title: Javax Websocket
-:cq-camel-part-description: Expose websocket endpoints using JSR356.
-:cq-extension-page-title: Javax Websocket (JSR 356)
+// Empty partial for a Camel bit unsupported by Camel Quarkus to avoid warnings when this file is included from a Camel page
diff --git a/extensions/pom.xml b/extensions/pom.xml
index 6d50929..347ba66 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -242,7 +242,6 @@
         <module>vertx-websocket</module>
         <module>vm</module>
         <module>weather</module>
-        <module>websocket-jsr356</module>
         <module>xmlsecurity</module>
         <module>xpath</module>
         <module>xslt</module>
diff --git a/extensions/websocket-jsr356/deployment/pom.xml b/extensions/websocket-jsr356/deployment/pom.xml
deleted file mode 100644
index 1097759..0000000
--- a/extensions/websocket-jsr356/deployment/pom.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-websocket-jsr356-parent</artifactId>
-        <version>1.8.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>camel-quarkus-websocket-jsr356-deployment</artifactId>
-    <name>Camel Quarkus :: Javax Websocket (JSR 356) :: Deployment</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-undertow-websockets-deployment</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-deployment</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-websocket-jsr356</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <annotationProcessorPaths>
-                        <path>
-                            <groupId>io.quarkus</groupId>
-                            <artifactId>quarkus-extension-processor</artifactId>
-                            <version>${quarkus.version}</version>
-                        </path>
-                    </annotationProcessorPaths>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/extensions/websocket-jsr356/deployment/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/deployment/WebSocketJSR356Processor.java b/extensions/websocket-jsr356/deployment/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/deployment/WebSocketJSR356Processor.java
deleted file mode 100644
index dc5b051..0000000
--- a/extensions/websocket-jsr356/deployment/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/deployment/WebSocketJSR356Processor.java
+++ /dev/null
@@ -1,76 +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.quarkus.component.websocket.jsr356.deployment;
-
-import java.util.List;
-
-import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.annotations.ExecutionTime;
-import io.quarkus.deployment.annotations.Record;
-import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.undertow.deployment.ServletContextAttributeBuildItem;
-import io.quarkus.undertow.deployment.ServletDeploymentManagerBuildItem;
-import io.undertow.websockets.jsr.WebSocketDeploymentInfo;
-import org.apache.camel.quarkus.component.websocket.jsr356.CamelWebSocketJSR356Config;
-import org.apache.camel.quarkus.component.websocket.jsr356.CamelWebSocketJSR356Recorder;
-import org.apache.camel.quarkus.core.deployment.spi.CamelBeanBuildItem;
-import org.apache.camel.quarkus.core.deployment.spi.CamelServiceFilter;
-import org.apache.camel.quarkus.core.deployment.spi.CamelServiceFilterBuildItem;
-import org.apache.camel.websocket.jsr356.JSR356WebSocketComponent;
-
-class WebSocketJSR356Processor {
-
-    private static final String FEATURE = "camel-websocket-jsr356";
-
-    @BuildStep
-    FeatureBuildItem feature() {
-        return new FeatureBuildItem(FEATURE);
-    }
-
-    @BuildStep
-    CamelServiceFilterBuildItem serviceFilter() {
-        return new CamelServiceFilterBuildItem(CamelServiceFilter.forComponent("websocket-jsr356"));
-    }
-
-    @Record(ExecutionTime.STATIC_INIT)
-    @BuildStep
-    public void createWebsocketEndpoints(List<ServletContextAttributeBuildItem> servletContext,
-            CamelWebSocketJSR356Recorder recorder, CamelWebSocketJSR356Config config) {
-        ServletContextAttributeBuildItem wsDeploymentInfoAttribute = servletContext
-                .stream()
-                .filter(context -> context.getKey().equals(WebSocketDeploymentInfo.ATTRIBUTE_NAME))
-                .findFirst()
-                .orElseThrow(() -> new IllegalStateException(
-                        "Servlet context attribute: " + WebSocketDeploymentInfo.ATTRIBUTE_NAME + " not found"));
-
-        recorder.configureWebsocketEndpoints((WebSocketDeploymentInfo) wsDeploymentInfoAttribute.getValue(), config);
-    }
-
-    @Record(ExecutionTime.STATIC_INIT)
-    @BuildStep
-    public void registerServerContainer(ServletDeploymentManagerBuildItem deploymentManager,
-            CamelWebSocketJSR356Recorder recorder) {
-        recorder.registerServerContainer(deploymentManager.getDeploymentManager());
-    }
-
-    @Record(ExecutionTime.STATIC_INIT)
-    @BuildStep
-    public CamelBeanBuildItem createWebSocketComponent(CamelWebSocketJSR356Recorder recorder) {
-        return new CamelBeanBuildItem("websocket-jsr356", JSR356WebSocketComponent.class.getName(),
-                recorder.createJsr356Component());
-    }
-}
diff --git a/extensions/websocket-jsr356/pom.xml b/extensions/websocket-jsr356/pom.xml
deleted file mode 100644
index 10dfc51..0000000
--- a/extensions/websocket-jsr356/pom.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-build-parent</artifactId>
-        <version>1.8.0-SNAPSHOT</version>
-        <relativePath>../../poms/build-parent/pom.xml</relativePath>
-    </parent>
-
-    <artifactId>camel-quarkus-websocket-jsr356-parent</artifactId>
-    <name>Camel Quarkus :: Javax Websocket (JSR 356)</name>
-    <packaging>pom</packaging>
-
-    <modules>
-        <module>deployment</module>
-        <module>runtime</module>
-    </modules>
-</project>
diff --git a/extensions/websocket-jsr356/runtime/pom.xml b/extensions/websocket-jsr356/runtime/pom.xml
deleted file mode 100644
index dc113c6..0000000
--- a/extensions/websocket-jsr356/runtime/pom.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-websocket-jsr356-parent</artifactId>
-        <version>1.8.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>camel-quarkus-websocket-jsr356</artifactId>
-    <name>Camel Quarkus :: Javax Websocket (JSR 356) :: Runtime</name>
-
-    <properties>
-        <quarkus.metadata.deprecated>true</quarkus.metadata.deprecated>
-        <camel.quarkus.jvmSince>1.0.0</camel.quarkus.jvmSince>
-        <camel.quarkus.nativeSince>1.0.0</camel.quarkus.nativeSince>
-    </properties>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-bom</artifactId>
-                <version>${project.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <dependencies>
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-undertow-websockets</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-websocket-jsr356</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>io.quarkus</groupId>
-                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <annotationProcessorPaths>
-                        <path>
-                            <groupId>io.quarkus</groupId>
-                            <artifactId>quarkus-extension-processor</artifactId>
-                            <version>${quarkus.version}</version>
-                        </path>
-                    </annotationProcessorPaths>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <profiles>
-        <profile>
-            <id>full</id>
-            <activation>
-                <property>
-                    <name>!quickly</name>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.camel.quarkus</groupId>
-                        <artifactId>camel-quarkus-maven-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>update-extension-doc-page</id>
-                                <goals>
-                                    <goal>update-extension-doc-page</goal>
-                                </goals>
-                                <phase>process-classes</phase>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-</project>
diff --git a/extensions/websocket-jsr356/runtime/src/main/doc/configuration.adoc b/extensions/websocket-jsr356/runtime/src/main/doc/configuration.adoc
deleted file mode 100644
index e4d7fdb..0000000
--- a/extensions/websocket-jsr356/runtime/src/main/doc/configuration.adoc
+++ /dev/null
@@ -1,11 +0,0 @@
-When using WebSocket consumers (E.g `from("websocket-jsr356:/some/path")`), you must first register the endpoint paths via
-the `server-endpoint-paths` configuration property.
-
-For example:
-
-[source,properties]
-----
-quarkus.camel.websocket-jsr356.server-endpoint-paths=/foo,/foo/bar,/foo/bar/cheese
-----
-
-Note that paths are relative to the value of `quarkus.http.root-path`.
diff --git a/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356Config.java b/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356Config.java
deleted file mode 100644
index 3a5098e..0000000
--- a/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356Config.java
+++ /dev/null
@@ -1,34 +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.quarkus.component.websocket.jsr356;
-
-import java.util.List;
-import java.util.Optional;
-
-import io.quarkus.runtime.annotations.ConfigItem;
-import io.quarkus.runtime.annotations.ConfigPhase;
-import io.quarkus.runtime.annotations.ConfigRoot;
-
-@ConfigRoot(name = "camel.websocket-jsr356", phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED)
-public class CamelWebSocketJSR356Config {
-
-    /**
-     * A comma separated list of server endpoint paths that the websocket consumer will bind to.
-     */
-    @ConfigItem
-    public Optional<List<String>> serverEndpointPaths;
-}
diff --git a/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356EndpointConfigurator.java b/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356EndpointConfigurator.java
deleted file mode 100644
index cbd0782..0000000
--- a/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356EndpointConfigurator.java
+++ /dev/null
@@ -1,35 +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.quarkus.component.websocket.jsr356;
-
-import javax.websocket.server.ServerEndpointConfig;
-
-import org.apache.camel.websocket.jsr356.CamelServerEndpoint;
-
-public class CamelWebSocketJSR356EndpointConfigurator extends ServerEndpointConfig.Configurator {
-
-    private final CamelServerEndpoint endpoint;
-
-    public CamelWebSocketJSR356EndpointConfigurator(CamelServerEndpoint endpoint) {
-        this.endpoint = endpoint;
-    }
-
-    @Override
-    public <T> T getEndpointInstance(Class<T> endpointClass) throws InstantiationException {
-        return endpointClass.cast(endpoint);
-    }
-}
diff --git a/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356Recorder.java b/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356Recorder.java
deleted file mode 100644
index 82e25ea..0000000
--- a/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356Recorder.java
+++ /dev/null
@@ -1,73 +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.quarkus.component.websocket.jsr356;
-
-import java.util.Collections;
-import java.util.List;
-
-import javax.websocket.server.ServerContainer;
-import javax.websocket.server.ServerEndpointConfig;
-
-import io.quarkus.runtime.RuntimeValue;
-import io.quarkus.runtime.annotations.Recorder;
-import io.undertow.servlet.api.DeploymentManager;
-import io.undertow.servlet.spec.ServletContextImpl;
-import io.undertow.websockets.jsr.WebSocketDeploymentInfo;
-import org.apache.camel.websocket.jsr356.CamelServerEndpoint;
-import org.apache.camel.websocket.jsr356.JSR356WebSocketComponent;
-
-@Recorder
-public class CamelWebSocketJSR356Recorder {
-
-    public void configureWebsocketEndpoints(WebSocketDeploymentInfo deploymentInfo, CamelWebSocketJSR356Config config) {
-        List<String> endpointPaths = config.serverEndpointPaths.orElseGet(Collections::emptyList);
-        for (String path : endpointPaths) {
-            CamelServerEndpoint endpoint = new CamelServerEndpoint();
-            ServerEndpointConfig.Builder builder = ServerEndpointConfig.Builder.create(CamelServerEndpoint.class, path);
-            builder.configurator(new CamelWebSocketJSR356EndpointConfigurator(endpoint));
-            deploymentInfo.addEndpoint(builder.build());
-        }
-    }
-
-    public RuntimeValue<JSR356WebSocketComponent> createJsr356Component() {
-        JSR356WebSocketComponent component = new JSR356WebSocketComponent();
-        component.setServerEndpointDeploymentStrategy((container, configBuilder) -> {
-            // Do nothing as the Quarkus Undertow extension handles deployment
-        });
-        return new RuntimeValue<>(component);
-    }
-
-    public void registerServerContainer(DeploymentManager deploymentManager) {
-        ServletContextImpl servletContext = deploymentManager.getDeployment().getServletContext();
-        ServerContainer container = (ServerContainer) servletContext.getAttribute(ServerContainer.class.getName());
-
-        JSR356WebSocketComponent.registerServer(servletContext.getContextPath(), container);
-
-        WebSocketDeploymentInfo deploymentInfo = (WebSocketDeploymentInfo) servletContext
-                .getAttribute(WebSocketDeploymentInfo.ATTRIBUTE_NAME);
-        for (ServerEndpointConfig config : deploymentInfo.getProgramaticEndpoints()) {
-            try {
-                CamelServerEndpoint endpoint = config.getConfigurator().getEndpointInstance(CamelServerEndpoint.class);
-                JSR356WebSocketComponent.ContextBag context = JSR356WebSocketComponent
-                        .getContext(servletContext.getContextPath());
-                context.getEndpoints().put(config.getPath(), endpoint);
-            } catch (InstantiationException e) {
-                throw new RuntimeException(e);
-            }
-        }
-    }
-}
diff --git a/extensions/websocket-jsr356/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/websocket-jsr356/runtime/src/main/resources/META-INF/quarkus-extension.yaml
deleted file mode 100644
index 2146e04..0000000
--- a/extensions/websocket-jsr356/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ /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.
-#
-
-# This is a generated file. Do not edit directly!
-# To re-generate, run the following command from the top level directory:
-#
-#   mvn -N cq:update-quarkus-metadata
-#
----
-name: "Camel Javax Websocket (JSR 356)"
-description: "Expose websocket endpoints using JSR356"
-metadata:
-  guide: "https://camel.apache.org/camel-quarkus/latest/reference/extensions/websocket-jsr356.html"
-  categories:
-  - "integration"
-  status:
-  - "stable"
-  - "deprecated"
\ No newline at end of file
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 39fe196..ae058e5 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -203,7 +203,6 @@
         <module>vertx-kafka</module>
         <module>vertx-websocket</module>
         <module>weather</module>
-        <module>websocket-jsr356</module>
         <module>xml</module>
         <module>xmlsecurity</module>
         <module>xstream</module>
diff --git a/integration-tests/websocket-jsr356/pom.xml b/integration-tests/websocket-jsr356/pom.xml
deleted file mode 100644
index 5826bdf..0000000
--- a/integration-tests/websocket-jsr356/pom.xml
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-integration-tests</artifactId>
-        <version>1.8.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>camel-quarkus-integration-test-websocket-jsr356</artifactId>
-    <name>Camel Quarkus :: Integration Tests :: WebSocket JSR 356</name>
-    <description>Integration tests for Camel Quarkus WebSocket JSR 356 extension</description>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-websocket-jsr356</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-resteasy</artifactId>
-        </dependency>
-
-        <!-- test dependencies -->
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-junit5</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>io.rest-assured</groupId>
-            <artifactId>rest-assured</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-websocket-jsr356-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-    </dependencies>
-
-
-    <profiles>
-        <profile>
-            <id>native</id>
-            <activation>
-                <property>
-                    <name>native</name>
-                </property>
-            </activation>
-            <properties>
-                <quarkus.package.type>native</quarkus.package.type>
-            </properties>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-failsafe-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>integration-test</goal>
-                                    <goal>verify</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-</project>
diff --git a/integration-tests/websocket-jsr356/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketRoutes.java b/integration-tests/websocket-jsr356/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketRoutes.java
deleted file mode 100644
index 37a380d..0000000
--- a/integration-tests/websocket-jsr356/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketRoutes.java
+++ /dev/null
@@ -1,35 +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.quarkus.component.websocket.jsr356.it;
-
-import javax.websocket.Session;
-
-import org.apache.camel.Message;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.websocket.jsr356.JSR356Constants;
-
-public class WebSocketRoutes extends RouteBuilder {
-    @Override
-    public void configure() throws Exception {
-        from("websocket-jsr356:/ws")
-                .process(exchange -> {
-                    Message message = exchange.getMessage();
-                    Session session = message.getHeader(JSR356Constants.SESSION, Session.class);
-                    session.getAsyncRemote().sendText("Hello " + message.getBody());
-                });
-    }
-}
diff --git a/integration-tests/websocket-jsr356/src/main/resources/application.properties b/integration-tests/websocket-jsr356/src/main/resources/application.properties
deleted file mode 100644
index 616f347..0000000
--- a/integration-tests/websocket-jsr356/src/main/resources/application.properties
+++ /dev/null
@@ -1,19 +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.
-## ---------------------------------------------------------------------------
-
-# Camel Websocket JSR356
-quarkus.camel.websocket-jsr356.server-endpoint-paths=/ws
\ No newline at end of file
diff --git a/integration-tests/websocket-jsr356/src/test/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketJSR356IT.java b/integration-tests/websocket-jsr356/src/test/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketJSR356IT.java
deleted file mode 100644
index a402f29..0000000
--- a/integration-tests/websocket-jsr356/src/test/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketJSR356IT.java
+++ /dev/null
@@ -1,24 +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.quarkus.component.websocket.jsr356.it;
-
-import io.quarkus.test.junit.NativeImageTest;
-
-@NativeImageTest
-class WebSocketJSR356IT extends WebSocketJSR356Test {
-
-}
diff --git a/integration-tests/websocket-jsr356/src/test/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketJSR356Test.java b/integration-tests/websocket-jsr356/src/test/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketJSR356Test.java
deleted file mode 100644
index 8ac752c..0000000
--- a/integration-tests/websocket-jsr356/src/test/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketJSR356Test.java
+++ /dev/null
@@ -1,62 +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.quarkus.component.websocket.jsr356.it;
-
-import java.net.URI;
-import java.util.concurrent.LinkedBlockingDeque;
-import java.util.concurrent.TimeUnit;
-
-import javax.websocket.ClientEndpointConfig;
-import javax.websocket.ContainerProvider;
-import javax.websocket.Endpoint;
-import javax.websocket.EndpointConfig;
-import javax.websocket.MessageHandler;
-import javax.websocket.Session;
-
-import io.quarkus.test.common.http.TestHTTPResource;
-import io.quarkus.test.junit.QuarkusTest;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-
-@QuarkusTest
-class WebSocketJSR356Test {
-
-    @TestHTTPResource("/ws")
-    URI uri;
-
-    @Test
-    public void testWebsocketChat() throws Exception {
-        LinkedBlockingDeque<String> message = new LinkedBlockingDeque<>();
-        Endpoint endpoint = 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 Quarkus WebSocket");
-            }
-        };
-
-        ClientEndpointConfig config = ClientEndpointConfig.Builder.create().build();
-        try (Session session = ContainerProvider.getWebSocketContainer().connectToServer(endpoint, config, uri)) {
-            Assertions.assertEquals("Hello Camel Quarkus WebSocket", message.poll(5, TimeUnit.SECONDS));
-        }
-    }
-}
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 9b6588b..671f21d 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -2089,11 +2089,6 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
-                <artifactId>camel-websocket-jsr356</artifactId>
-                <version>${camel.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-weka</artifactId>
                 <version>${camel.version}</version>
             </dependency>
@@ -5406,16 +5401,6 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-websocket-jsr356</artifactId>
-                <version>${camel-quarkus.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-websocket-jsr356-deployment</artifactId>
-                <version>${camel-quarkus.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-weka</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
diff --git a/tooling/scripts/test-categories.yaml b/tooling/scripts/test-categories.yaml
index 92853d0..6507fe5 100644
--- a/tooling/scripts/test-categories.yaml
+++ b/tooling/scripts/test-categories.yaml
@@ -156,7 +156,6 @@ networking2-dataformats:
   - nsq
   - servlet
   - univocity-parsers
-  - websocket-jsr356
   - vertx
   - compression
   - flatpack