You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2021/02/24 08:46:37 UTC

[camel-quarkus] branch quarkus-master updated (ee10ff0 -> 64b07c7)

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

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


 discard ee10ff0  Remove support for Webocket JSR 356
 discard 0af4cdc  Upgrade to Quarkus 1.13.0.Final
     add 5218d55  Extension parent poms should not inherit from camel-quarkus-build-parent-it
     add 06df237  Avro: Prefer SyntheticBeanBuildItem to initializing bean producers via volatile fields #2273
     add 92b3ca0  FHIR: Prefer SyntheticBeanBuildItem to initializing bean producers via volatile fields #2273
     add 7387777  Reactive streams: Prefer SyntheticBeanBuildItem to initializing bean producers via volatile fields #2273
     add dc2320b  Updated CHANGELOG.md
     add 6966fb6  Improve the release guide
     add 7cb869c  Freemarker native support #223
     add 2e8c328  One more azure EventHubs test fixup
     add 99630f2  Test AWS 2 CloudWatch
     add 6877792  Simplify the client creation in KinesisTest
     add e39b836  Updated CHANGELOG.md
     new 1b3e090  Upgrade to Quarkus 1.13.0.Final
     new 7122077  Remove support for Webocket JSR 356
     new 64b07c7  Fix #1918 to add a integration test with camel-jdbc and camel-jms

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   (ee10ff0)
            \
             N -- N -- N   refs/heads/quarkus-master (64b07c7)

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 3 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                                       |  19 ++-
 docs/modules/ROOT/nav.adoc                         |   1 -
 .../pages/contributor-guide/release-guide.adoc     |  18 +-
 .../pages/reference/extensions/freemarker.adoc     | 101 +++++++++++-
 .../partials/reference/components/freemarker.adoc  |   6 +-
 extensions-jvm/freemarker/integration-test/pom.xml |  83 ----------
 extensions-jvm/pom.xml                             |   1 -
 .../component/avro/deployment/AvroProcessor.java   |  26 ++-
 extensions/avro/pom.xml                            |   4 +-
 .../component/avro/AvroDataFormatProducer.java     |  10 +-
 .../camel/quarkus/component/avro/AvroRecorder.java |  12 +-
 .../{AvroRecorder.java => AvroSchemaRegistry.java} |  17 +-
 .../component/avro/AvroDataFormatProducerTest.java |   3 +-
 extensions/aws2-ec2/pom.xml                        |   4 +-
 extensions/elasticsearch-rest/pom.xml              |   4 +-
 .../component/fhir/deployment/FhirProcessor.java   |   6 -
 .../fhir/deployment/dstu2/FhirDstu2Processor.java  | 183 ++-------------------
 .../fhir/deployment/dstu3/FhirDstu3Processor.java  |  15 +-
 .../fhir/deployment/r4/FhirR4Processor.java        |  15 +-
 .../fhir/deployment/r5/FhirR5Processor.java        |  14 +-
 .../component/fhir/FhirContextProducers.java       |  76 ---------
 .../component/fhir/FhirContextRecorder.java        |  13 +-
 .../freemarker/deployment/pom.xml                  |   4 +
 .../freemarker/deployment/FreemarkerProcessor.java |  23 ++-
 {extensions-jvm => extensions}/freemarker/pom.xml  |   1 -
 .../freemarker/runtime/pom.xml                     |  11 ++
 .../runtime/src/main/doc/configuration.adoc        |  84 ++++++++++
 .../freemarker/CamelFreemarkerRecorder.java}       |  16 +-
 .../main/resources/META-INF/quarkus-extension.yaml |   3 +-
 extensions/mongodb-gridfs/pom.xml                  |   4 +-
 extensions/pom.xml                                 |   1 +
 .../deployment/ReactiveStreamsProcessor.java       |  22 +--
 .../reactive/streams/ReactiveStreamsProducers.java |  13 +-
 .../reactive/streams/ReactiveStreamsRecorder.java  |  14 --
 extensions/rest-openapi/pom.xml                    |   4 +-
 .../{aws2-ddb => aws2-cw}/pom.xml                  |  16 +-
 .../component/aws2/cw/it/Aws2CwResource.java       |  39 ++---
 .../src/main/resources/application.properties      |   9 +-
 .../quarkus/component/aws2/cw/it/Aws2CwIT.java}    |   7 +-
 .../quarkus/component/aws2/cw/it/Aws2CwTest.java   |  96 +++++++++++
 .../aws2/cw/it/Aws2CwTestEnvCustomizer.java        |  20 +--
 ...quarkus.test.support.aws2.Aws2TestEnvCustomizer |   1 +
 .../component/aws2/kinesis/it/Aws2KinesisTest.java |  77 ++++-----
 integration-tests-aws2/pom.xml                     |   1 +
 .../quarkus/test/support/aws2/Aws2Client.java}     |  17 +-
 .../test/support/aws2/Aws2TestEnvContext.java      |  27 +++
 .../test/support/aws2/Aws2TestResource.java        |  24 +++
 integration-tests/aws2-grouped/pom.xml             |  21 +++
 integration-tests/azure-eventhubs/pom.xml          |  13 ++
 .../component/fhir/it/FhirDstu2RouteBuilder.java   |   4 +-
 .../component/fhir/it/FhirDstu3RouteBuilder.java   |   4 +-
 .../component/fhir/it/FhirR4RouteBuilder.java      |   4 +-
 .../component/fhir/it/FhirR5RouteBuilder.java      |   4 +-
 integration-tests/{jolt => freemarker}/pom.xml     |  11 +-
 .../freemarker/it/FreemarkerResource.java          |  52 ++----
 .../quarkus/component/freemarker/it/MyPerson.java  |   0
 .../src/main/resources/AppleTemplate.ftl           |   0
 .../src/main/resources/application.properties      |   3 +-
 .../subfolder/templates/BodyAsDomainObject.ftl     |   0
 .../apache/camel/component/freemarker/example.ftl  |   0
 .../component/freemarker/it/FreemarkerIT.java}     |   4 +-
 .../component/freemarker/it/FreemarkerTest.java    |  19 ++-
 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 +++++
 .../src/main/resources/application.properties      |   1 +
 .../component/jta/it/ActiveMQXATestResource.java}  |  16 +-
 .../camel/quarkus/component/jta/it/JtaTest.java    |  32 ++++
 integration-tests/pom.xml                          |   1 +
 pom.xml                                            |   3 +-
 poms/bom/pom.xml                                   |  10 ++
 tooling/scripts/test-categories.yaml               |   1 +
 73 files changed, 900 insertions(+), 632 deletions(-)
 delete mode 100644 extensions-jvm/freemarker/integration-test/pom.xml
 copy extensions/avro/runtime/src/main/java/org/apache/camel/quarkus/component/avro/{AvroRecorder.java => AvroSchemaRegistry.java} (71%)
 delete mode 100644 extensions/fhir/runtime/src/main/java/org/apache/camel/quarkus/component/fhir/FhirContextProducers.java
 rename {extensions-jvm => extensions}/freemarker/deployment/pom.xml (93%)
 rename {extensions-jvm => extensions}/freemarker/deployment/src/main/java/org/apache/camel/quarkus/component/freemarker/deployment/FreemarkerProcessor.java (66%)
 rename {extensions-jvm => extensions}/freemarker/pom.xml (97%)
 rename {extensions-jvm => extensions}/freemarker/runtime/pom.xml (89%)
 create mode 100644 extensions/freemarker/runtime/src/main/doc/configuration.adoc
 copy extensions/{qute/runtime/src/main/java/org/apache/camel/quarkus/component/qute/CamelQuteRecorder.java => freemarker/runtime/src/main/java/org/apache/camel/quarkus/component/freemarker/CamelFreemarkerRecorder.java} (66%)
 rename {extensions-jvm => extensions}/freemarker/runtime/src/main/resources/META-INF/quarkus-extension.yaml (97%)
 copy integration-tests-aws2/{aws2-ddb => aws2-cw}/pom.xml (88%)
 copy integration-tests/foundation/src/main/java/org/apache/camel/quarkus/component/foundation/it/seda/SedaResource.java => integration-tests-aws2/aws2-cw/src/main/java/org/apache/camel/quarkus/component/aws2/cw/it/Aws2CwResource.java (63%)
 copy {integration-tests/bean => integration-tests-aws2/aws2-cw}/src/main/resources/application.properties (85%)
 copy integration-tests-aws2/{aws2-sqs-sns/src/test/java/org/apache/camel/quarkus/component/aws2/sqs/it/Aws2SqsSnsIT.java => aws2-cw/src/test/java/org/apache/camel/quarkus/component/aws2/cw/it/Aws2CwIT.java} (84%)
 create mode 100644 integration-tests-aws2/aws2-cw/src/test/java/org/apache/camel/quarkus/component/aws2/cw/it/Aws2CwTest.java
 copy integration-tests/main/src/test/java/org/apache/camel/quarkus/main/CoreMainTestResource.java => integration-tests-aws2/aws2-cw/src/test/java/org/apache/camel/quarkus/component/aws2/cw/it/Aws2CwTestEnvCustomizer.java (62%)
 create mode 100644 integration-tests-aws2/aws2-cw/src/test/resources/META-INF/services/org.apache.camel.quarkus.test.support.aws2.Aws2TestEnvCustomizer
 copy integration-tests-support/{wiremock/src/main/java/org/apache/camel/quarkus/test/wiremock/MockServer.java => aws2/src/main/java/org/apache/camel/quarkus/test/support/aws2/Aws2Client.java} (79%)
 copy integration-tests/{jolt => freemarker}/pom.xml (91%)
 rename {extensions-jvm/freemarker/integration-test => integration-tests/freemarker}/src/main/java/org/apache/camel/quarkus/component/freemarker/it/FreemarkerResource.java (68%)
 rename {extensions-jvm/freemarker/integration-test => integration-tests/freemarker}/src/main/java/org/apache/camel/quarkus/component/freemarker/it/MyPerson.java (100%)
 rename {extensions-jvm/freemarker/integration-test => integration-tests/freemarker}/src/main/resources/AppleTemplate.ftl (100%)
 rename {extensions-jvm/freemarker/integration-test => integration-tests/freemarker}/src/main/resources/application.properties (95%)
 rename {extensions-jvm/freemarker/integration-test => integration-tests/freemarker}/src/main/resources/folder/subfolder/templates/BodyAsDomainObject.ftl (100%)
 rename {extensions-jvm/freemarker/integration-test => integration-tests/freemarker}/src/main/resources/org/apache/camel/component/freemarker/example.ftl (100%)
 copy integration-tests/{arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbIT.java => freemarker/src/test/java/org/apache/camel/quarkus/component/freemarker/it/FreemarkerIT.java} (89%)
 rename {extensions-jvm/freemarker/integration-test => integration-tests/freemarker}/src/test/java/org/apache/camel/quarkus/component/freemarker/it/FreemarkerTest.java (85%)
 create mode 100644 integration-tests/jta/src/main/java/org/apache/camel/quarkus/component/jta/it/XAConnectionFactoryConfiguration.java
 copy integration-tests/{jdbc => jta}/src/main/resources/application.properties (95%)
 copy integration-tests/{messaging/src/test/java/org/apache/camel/quarkus/component/messaging/it/ActiveMQTestResource.java => jta/src/test/java/org/apache/camel/quarkus/component/jta/it/ActiveMQXATestResource.java} (80%)


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

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

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

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

    Upgrade to Quarkus 1.13.0.Final
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index cd1525c..caedf51 100644
--- a/pom.xml
+++ b/pom.xml
@@ -105,7 +105,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.0.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/03: Fix #1918 to add a integration test with camel-jdbc and camel-jms

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

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

commit 64b07c7b5b72e9db05d76939383a3cf80ffa7e19
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/03: Remove support for Webocket JSR 356

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

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

commit 7122077362f12b0a61243febbd2e80a18ed227ca
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 bfe3963..57c5b33 100644
--- a/catalog/pom.xml
+++ b/catalog/pom.xml
@@ -4157,19 +4157,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 467ea84..8fdc81d 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -239,7 +239,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 5b4c436..d5345bf 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -201,7 +201,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 baaf2b3..2c06747 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -2056,11 +2056,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>
@@ -5333,16 +5328,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 7549a8a..1a5a7dd 100644
--- a/tooling/scripts/test-categories.yaml
+++ b/tooling/scripts/test-categories.yaml
@@ -155,7 +155,6 @@ networking2-dataformats:
   - send-dynamic-http
   - servlet
   - univocity-parsers
-  - websocket-jsr356
   - vertx
   - compression
   - flatpack