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

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


The following commit(s) were added to refs/heads/main by this push:
     new 029dbad68c Fixes #9270. Remove the avro-rpc extension
029dbad68c is described below

commit 029dbad68c71a501c40cee5bc2d40bb44f127c80
Author: Jiří Ondrušek <[email protected]>
AuthorDate: Wed Oct 7 10:01:55 2026 +0200

    Fixes #9270. Remove the avro-rpc extension
    
    avro-rpc has been disabled since Camel Quarkus 3.0.0 (#4462). Remove the
    leftover extension and integration test sources, the commented-out module
    and BOM entries, the catalog test exclusion and a 3.40.0 migration guide
    note that referred to the extension.
    
    Co-authored-by: jiriOndrusek-agent <[email protected]>
    Co-authored-by: Claude Opus 5.5 <[email protected]>
---
 .../quarkus/QuarkusRuntimeProviderTest.java        |   1 -
 .../modules/ROOT/pages/migration-guide/3.40.0.adoc |   2 -
 extensions/avro-rpc/deployment/pom.xml             |  69 ----
 .../avro/rpc/deployment/AvroRpcProcessor.java      |  64 ---
 extensions/avro-rpc/pom.xml                        |  37 --
 extensions/avro-rpc/runtime/pom.xml                |  91 -----
 .../avro-rpc/runtime/src/main/doc/usage.adoc       |   1 -
 .../avro/rpc/spi/HttpServletRequestFromBytes.java  | 440 ---------------------
 .../avro/rpc/spi/HttpServletResponseWithBytes.java | 252 ------------
 .../component/avro/rpc/spi/VertxHttpServer.java    |  82 ----
 .../avro/rpc/spi/VertxHttpServerFactory.java       |  29 --
 .../main/resources/META-INF/quarkus-extension.yaml |  30 --
 .../org/apache/camel/avro-rpc-http-server-factory  |   1 -
 extensions/pom.xml                                 |   1 -
 integration-tests/avro-rpc/pom.xml                 | 162 --------
 integration-tests/avro-rpc/src/main/avro/test.avpr |  27 --
 .../component/avro/rpc/it/AvroRpcResource.java     | 152 -------
 .../component/avro/rpc/it/AvroRpcRouteBuilder.java |  69 ----
 .../component/avro/rpc/it/ProtocolType.java        |  21 -
 .../rpc/it/reflection/ReflectionProcessor.java     |  37 --
 .../component/avro/rpc/it/reflection/TestPojo.java |  33 --
 .../avro/rpc/it/reflection/TestReflection.java     |  32 --
 .../rpc/it/reflection/impl/TestReflectionImpl.java |  48 ---
 .../avro/rpc/it/specific/PutProcessor.java         |  43 --
 .../avro/rpc/it/specific/generated/Key.java        | 336 ----------------
 .../it/specific/generated/KeyValueProtocol.java    |  41 --
 .../avro/rpc/it/specific/generated/Value.java      | 336 ----------------
 .../rpc/it/specific/impl/KeyValueProtocolImpl.java |  44 ---
 .../component/avro/rpc/it/AvroRpcHttpIT.java       |  24 --
 .../component/avro/rpc/it/AvroRpcHttpTest.java     |  28 --
 .../component/avro/rpc/it/AvroRpcNettyIT.java      |  24 --
 .../component/avro/rpc/it/AvroRpcNettyTest.java    |  27 --
 .../component/avro/rpc/it/AvroRpcTestResource.java | 123 ------
 .../component/avro/rpc/it/AvroRpcTestSupport.java  | 209 ----------
 integration-tests/pom.xml                          |   1 -
 poms/bom/pom.xml                                   |  20 -
 36 files changed, 2937 deletions(-)

diff --git 
a/catalog/src/test/java/org/apache/camel/catalog/quarkus/QuarkusRuntimeProviderTest.java
 
b/catalog/src/test/java/org/apache/camel/catalog/quarkus/QuarkusRuntimeProviderTest.java
index be6771fa77..d6a21c93ff 100644
--- 
a/catalog/src/test/java/org/apache/camel/catalog/quarkus/QuarkusRuntimeProviderTest.java
+++ 
b/catalog/src/test/java/org/apache/camel/catalog/quarkus/QuarkusRuntimeProviderTest.java
@@ -82,7 +82,6 @@ public class QuarkusRuntimeProviderTest {
                 .collect(Collectors.toSet());
 
         final Set<String> ignoredModules = Set.of(
-                "avro-rpc", // can be removed after fixing 
https://github.com/apache/camel-quarkus/issues/4462
                 "http-common",
                 "optaplanner" // can be removed after fixing 
https://github.com/apache/camel-quarkus/issues/4463
         );
diff --git a/docs/modules/ROOT/pages/migration-guide/3.40.0.adoc 
b/docs/modules/ROOT/pages/migration-guide/3.40.0.adoc
index abf156a37b..49d5fc0a8c 100644
--- a/docs/modules/ROOT/pages/migration-guide/3.40.0.adoc
+++ b/docs/modules/ROOT/pages/migration-guide/3.40.0.adoc
@@ -273,8 +273,6 @@ quarkus.avro.trusted-packages=com.acme.orders.avro
 quarkus.avro.trusted-classes=com.acme.LegacyOrder
 ----
 
-Camel's upgrade guide additionally asks `camel-avro-rpc` users to trust the 
`org.apache.avro` package. That is not needed here. `camel-quarkus-avro-rpc` 
indexes `avro-ipc`, and the handshake types Avro resolves from its own protocol 
are annotated, so they are trusted automatically.
-
 Avro's own `org.apache.avro.SERIALIZABLE_PACKAGES` and 
`org.apache.avro.SERIALIZABLE_CLASSES` system properties still work as an 
addendum, since Quarkus adds its trusted classes on top of them rather than 
replacing them. They are read once, when Avro initializes, so they have to be 
set on the command line. Note that `*` in 
`org.apache.avro.SERIALIZABLE_PACKAGES` disables the class loading protection 
entirely.
 
 Whichever route is used, list only the packages holding your own Avro model 
classes.
diff --git a/extensions/avro-rpc/deployment/pom.xml 
b/extensions/avro-rpc/deployment/pom.xml
deleted file mode 100644
index 3eb00763db..0000000000
--- a/extensions/avro-rpc/deployment/pom.xml
+++ /dev/null
@@ -1,69 +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-avro-rpc-parent</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>camel-quarkus-avro-rpc-deployment</artifactId>
-    <name>Camel Quarkus :: Avro RPC :: Deployment</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-deployment</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-avro-rpc</artifactId>
-        </dependency>
-        <dependency>
-            <artifactId>quarkus-avro-deployment</artifactId>
-            <groupId>io.quarkus</groupId>
-        </dependency>
-        <dependency>
-            <artifactId>quarkus-vertx-http-deployment</artifactId>
-            <groupId>io.quarkus</groupId>
-        </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/avro-rpc/deployment/src/main/java/org/apache/camel/quarkus/component/avro/rpc/deployment/AvroRpcProcessor.java
 
b/extensions/avro-rpc/deployment/src/main/java/org/apache/camel/quarkus/component/avro/rpc/deployment/AvroRpcProcessor.java
deleted file mode 100644
index d3ef654fd9..0000000000
--- 
a/extensions/avro-rpc/deployment/src/main/java/org/apache/camel/quarkus/component/avro/rpc/deployment/AvroRpcProcessor.java
+++ /dev/null
@@ -1,64 +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.avro.rpc.deployment;
-
-import java.nio.file.Paths;
-
-import io.quarkus.deployment.annotations.BuildProducer;
-import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
-import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.deployment.builditem.IndexDependencyBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
-import org.apache.avro.specific.AvroGenerated;
-import org.apache.camel.quarkus.component.avro.rpc.spi.VertxHttpServerFactory;
-import org.apache.camel.quarkus.core.deployment.spi.CamelServiceBuildItem;
-import org.jboss.jandex.AnnotationTarget;
-import org.jboss.jandex.DotName;
-import org.jboss.jandex.IndexView;
-
-class AvroRpcProcessor {
-
-    private static final String FEATURE = "camel-avro-rpc";
-
-    @BuildStep
-    FeatureBuildItem feature() {
-        return new FeatureBuildItem(FEATURE);
-    }
-
-    @BuildStep
-    ReflectiveClassBuildItem registerForReflection(CombinedIndexBuildItem 
combinedIndex) {
-        IndexView index = combinedIndex.getIndex();
-        String[] dtos = 
index.getAnnotations(DotName.createSimple(AvroGenerated.class.getName())).stream()
-                .filter(a -> a.target().kind() == AnnotationTarget.Kind.CLASS)
-                .map(a -> a.target().asClass().name().toString())
-                .toArray(String[]::new);
-
-        return new ReflectiveClassBuildItem(false, false, dtos);
-    }
-
-    @BuildStep
-    void registerDependencyForIndex(BuildProducer<IndexDependencyBuildItem> 
indexDependency) {
-        indexDependency.produce(new 
IndexDependencyBuildItem("org.apache.avro", "avro-ipc"));
-    }
-
-    @BuildStep
-    CamelServiceBuildItem httpFactory() {
-        return new 
CamelServiceBuildItem(Paths.get("META-INF/services/org/apache/camel/avro-rpc-http-server-factory"),
-                VertxHttpServerFactory.class.getName());
-    }
-}
diff --git a/extensions/avro-rpc/pom.xml b/extensions/avro-rpc/pom.xml
deleted file mode 100644
index bf8e1a2cee..0000000000
--- a/extensions/avro-rpc/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-extensions</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>camel-quarkus-avro-rpc-parent</artifactId>
-    <name>Camel Quarkus :: Avro RPC</name>
-    <packaging>pom</packaging>
-
-    <modules>
-        <module>deployment</module>
-        <module>runtime</module>
-    </modules>
-</project>
diff --git a/extensions/avro-rpc/runtime/pom.xml 
b/extensions/avro-rpc/runtime/pom.xml
deleted file mode 100644
index dda06b556b..0000000000
--- a/extensions/avro-rpc/runtime/pom.xml
+++ /dev/null
@@ -1,91 +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-avro-rpc-parent</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>camel-quarkus-avro-rpc</artifactId>
-    <name>Camel Quarkus :: Avro RPC :: Runtime</name>
-    <description>Produce or consume Apache Avro RPC services.</description>
-
-    <properties>
-        <camel.quarkus.jvmSince>1.0.0</camel.quarkus.jvmSince>
-        <camel.quarkus.nativeSince>1.5.0</camel.quarkus.nativeSince>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-avro-rpc</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-avro-rpc-spi</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>jakarta.servlet</groupId>
-            <artifactId>jakarta.servlet-api</artifactId>
-        </dependency>
-        <dependency>
-            <artifactId>quarkus-avro</artifactId>
-            <groupId>io.quarkus</groupId>
-        </dependency>
-        <dependency>
-            <artifactId>quarkus-vertx-http</artifactId>
-            <groupId>io.quarkus</groupId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.avro</groupId>
-            <artifactId>avro-ipc-netty</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>io.quarkus</groupId>
-                <artifactId>quarkus-extension-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>
-
-</project>
diff --git a/extensions/avro-rpc/runtime/src/main/doc/usage.adoc 
b/extensions/avro-rpc/runtime/src/main/doc/usage.adoc
deleted file mode 100644
index 4a27875161..0000000000
--- a/extensions/avro-rpc/runtime/src/main/doc/usage.adoc
+++ /dev/null
@@ -1 +0,0 @@
-Classes used as the protocol (either specific or reflective) in native mode, 
have to be registered for reflection (see 
https://quarkus.io/guides/writing-native-applications-tips#register-reflection[documentation]).
\ No newline at end of file
diff --git 
a/extensions/avro-rpc/runtime/src/main/java/org/apache/camel/quarkus/component/avro/rpc/spi/HttpServletRequestFromBytes.java
 
b/extensions/avro-rpc/runtime/src/main/java/org/apache/camel/quarkus/component/avro/rpc/spi/HttpServletRequestFromBytes.java
deleted file mode 100644
index 21985a7463..0000000000
--- 
a/extensions/avro-rpc/runtime/src/main/java/org/apache/camel/quarkus/component/avro/rpc/spi/HttpServletRequestFromBytes.java
+++ /dev/null
@@ -1,440 +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.avro.rpc.spi;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.security.Principal;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.Locale;
-import java.util.Map;
-
-import jakarta.servlet.AsyncContext;
-import jakarta.servlet.DispatcherType;
-import jakarta.servlet.ReadListener;
-import jakarta.servlet.RequestDispatcher;
-import jakarta.servlet.ServletContext;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.ServletInputStream;
-import jakarta.servlet.ServletRequest;
-import jakarta.servlet.ServletResponse;
-import jakarta.servlet.http.Cookie;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-import jakarta.servlet.http.HttpSession;
-import jakarta.servlet.http.HttpUpgradeHandler;
-import jakarta.servlet.http.Part;
-
-/**
- * Empty implementation of {@link jakarta.servlet.http.HttpServletRequest}.
- * Serves as a wrapper to be used for {@link 
org.apache.avro.ipc.ResponderServlet}
- */
-public class HttpServletRequestFromBytes implements HttpServletRequest {
-
-    private final byte[] buffer;
-    private final String method;
-
-    public HttpServletRequestFromBytes(byte[] bytes, String method) {
-        this.buffer = bytes;
-        this.method = method;
-    }
-
-    @Override
-    public ServletInputStream getInputStream() throws IOException {
-        return new ServletInputStreamFromInputStream(new 
ByteArrayInputStream(buffer));
-    }
-
-    @Override
-    public String getMethod() {
-        return method;
-    }
-
-    // --------------------- following methods are not implemented and not 
used ----------------------------
-
-    @Override
-    public String getAuthType() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Cookie[] getCookies() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public long getDateHeader(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getHeader(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Enumeration<String> getHeaders(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Enumeration<String> getHeaderNames() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int getIntHeader(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getPathInfo() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getPathTranslated() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getContextPath() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getQueryString() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getRemoteUser() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isUserInRole(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Principal getUserPrincipal() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getRequestedSessionId() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getRequestURI() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public StringBuffer getRequestURL() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getServletPath() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public HttpSession getSession(boolean b) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public HttpSession getSession() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String changeSessionId() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isRequestedSessionIdValid() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isRequestedSessionIdFromCookie() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isRequestedSessionIdFromURL() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isRequestedSessionIdFromUrl() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean authenticate(HttpServletResponse httpServletResponse) 
throws IOException, ServletException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void login(String s, String s1) throws ServletException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void logout() throws ServletException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Collection<Part> getParts() throws IOException, ServletException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Part getPart(String s) throws IOException, ServletException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public <T extends HttpUpgradeHandler> T upgrade(Class<T> aClass) throws 
IOException, ServletException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Object getAttribute(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Enumeration<String> getAttributeNames() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getCharacterEncoding() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setCharacterEncoding(String s) throws 
UnsupportedEncodingException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int getContentLength() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public long getContentLengthLong() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getContentType() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getParameter(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Enumeration<String> getParameterNames() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String[] getParameterValues(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Map<String, String[]> getParameterMap() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getProtocol() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getScheme() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getServerName() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int getServerPort() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public BufferedReader getReader() throws IOException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getRemoteAddr() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getRemoteHost() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setAttribute(String s, Object o) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void removeAttribute(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Locale getLocale() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Enumeration<Locale> getLocales() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isSecure() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public RequestDispatcher getRequestDispatcher(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getRealPath(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int getRemotePort() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getLocalName() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getLocalAddr() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int getLocalPort() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ServletContext getServletContext() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public AsyncContext startAsync() throws IllegalStateException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public AsyncContext startAsync(ServletRequest servletRequest, 
ServletResponse servletResponse)
-            throws IllegalStateException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isAsyncStarted() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isAsyncSupported() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public AsyncContext getAsyncContext() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DispatcherType getDispatcherType() {
-        throw new UnsupportedOperationException();
-    }
-
-    private class ServletInputStreamFromInputStream extends ServletInputStream 
{
-
-        final InputStream is;
-
-        public ServletInputStreamFromInputStream(InputStream is) {
-            this.is = is;
-        }
-
-        @Override
-        public boolean isFinished() {
-            try {
-                return is.available() != 0;
-            } catch (IOException e) {
-                throw new RuntimeException(e);
-            }
-        }
-
-        @Override
-        public boolean isReady() {
-            return true;
-        }
-
-        @Override
-        public void setReadListener(ReadListener readListener) {
-
-        }
-
-        @Override
-        public int read() throws IOException {
-            return is.read();
-        }
-    }
-}
diff --git 
a/extensions/avro-rpc/runtime/src/main/java/org/apache/camel/quarkus/component/avro/rpc/spi/HttpServletResponseWithBytes.java
 
b/extensions/avro-rpc/runtime/src/main/java/org/apache/camel/quarkus/component/avro/rpc/spi/HttpServletResponseWithBytes.java
deleted file mode 100644
index 86579881a7..0000000000
--- 
a/extensions/avro-rpc/runtime/src/main/java/org/apache/camel/quarkus/component/avro/rpc/spi/HttpServletResponseWithBytes.java
+++ /dev/null
@@ -1,252 +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.avro.rpc.spi;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Collection;
-import java.util.Locale;
-
-import jakarta.servlet.ServletOutputStream;
-import jakarta.servlet.WriteListener;
-import jakarta.servlet.http.Cookie;
-import jakarta.servlet.http.HttpServletResponse;
-
-/**
- * Empty implementation of {@link jakarta.servlet.http.HttpServletResponse}.
- * Serves as a wrapper to be used for {@link 
org.apache.avro.ipc.ResponderServlet}.
- */
-public class HttpServletResponseWithBytes implements HttpServletResponse {
-
-    private ServletOutputStreamWithBytes baos = new 
ServletOutputStreamWithBytes();
-
-    public byte[] getBytes() {
-        return baos.getBytes();
-    }
-
-    @Override
-    public ServletOutputStream getOutputStream() throws IOException {
-        return baos;
-    }
-
-    @Override
-    public void setContentType(String s) {
-        //do nothing
-    }
-
-    @Override
-    public void setContentLength(int i) {
-        //do nothing
-    }
-
-    // --------------------- following methods are not implemented and not 
used ----------------------------
-
-    @Override
-    public void addCookie(Cookie cookie) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean containsHeader(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String encodeURL(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String encodeRedirectURL(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String encodeUrl(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String encodeRedirectUrl(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void sendError(int i, String s) throws IOException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void sendError(int i) throws IOException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void sendRedirect(String s) throws IOException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setDateHeader(String s, long l) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void addDateHeader(String s, long l) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setHeader(String s, String s1) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void addHeader(String s, String s1) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setIntHeader(String s, int i) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void addIntHeader(String s, int i) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setStatus(int i) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setStatus(int i, String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int getStatus() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getHeader(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Collection<String> getHeaders(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Collection<String> getHeaderNames() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getCharacterEncoding() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getContentType() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public PrintWriter getWriter() throws IOException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setCharacterEncoding(String s) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setContentLengthLong(long l) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setBufferSize(int i) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int getBufferSize() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void flushBuffer() throws IOException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void resetBuffer() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isCommitted() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void reset() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setLocale(Locale locale) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Locale getLocale() {
-        throw new UnsupportedOperationException();
-    }
-
-    private class ServletOutputStreamWithBytes extends ServletOutputStream {
-
-        private final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
-        @Override
-        public boolean isReady() {
-            return true;
-        }
-
-        @Override
-        public void setWriteListener(WriteListener writeListener) {
-
-        }
-
-        @Override
-        public void write(int b) {
-            baos.write(b);
-        }
-
-        public byte[] getBytes() {
-            return baos.toByteArray();
-        }
-    }
-}
diff --git 
a/extensions/avro-rpc/runtime/src/main/java/org/apache/camel/quarkus/component/avro/rpc/spi/VertxHttpServer.java
 
b/extensions/avro-rpc/runtime/src/main/java/org/apache/camel/quarkus/component/avro/rpc/spi/VertxHttpServer.java
deleted file mode 100644
index a0d669e58c..0000000000
--- 
a/extensions/avro-rpc/runtime/src/main/java/org/apache/camel/quarkus/component/avro/rpc/spi/VertxHttpServer.java
+++ /dev/null
@@ -1,82 +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.avro.rpc.spi;
-
-import io.quarkus.arc.Arc;
-import io.vertx.core.Vertx;
-import io.vertx.core.buffer.Buffer;
-import org.apache.avro.AvroRuntimeException;
-import org.apache.avro.ipc.Responder;
-import org.apache.avro.ipc.ResponderServlet;
-import org.apache.avro.ipc.Server;
-
-public class VertxHttpServer implements Server {
-
-    private int port;
-
-    private ResponderServlet responder;
-
-    public VertxHttpServer(Responder servletAvro, int port) throws Exception {
-        this.port = port;
-        this.responder = new ResponderServlet(servletAvro);
-    }
-
-    @Override
-    public int getPort() {
-        return port;
-    }
-
-    @Override
-    public void start() {
-        Vertx vertx = Arc.container().instance(Vertx.class).get();
-
-        vertx.createHttpServer().requestHandler(rc -> {
-            rc.bodyHandler(handler -> {
-                HttpServletRequestFromBytes req = new 
HttpServletRequestFromBytes(handler.getBytes(), rc.method().name());
-                HttpServletResponseWithBytes resp = new 
HttpServletResponseWithBytes();
-                vertx.executeBlocking(
-                        promise -> {
-                            try {
-                                responder.service(req, resp);
-                                
promise.complete(Buffer.buffer(resp.getBytes()));
-                            } catch (Exception e) {
-                                promise.fail(e);
-                            }
-                        },
-                        false,
-                        result -> {
-                            if (result.succeeded()) {
-                                rc.response().end((Buffer) result.result());
-                            } else {
-                                rc.response().setStatusCode(500).end();
-                            }
-                        });
-            });
-        }).listen(port);
-    }
-
-    @Override
-    public void close() {
-        //do nothing
-    }
-
-    @Override
-    public void join() throws InterruptedException {
-        throw new AvroRuntimeException(new UnsupportedOperationException());
-    }
-
-}
diff --git 
a/extensions/avro-rpc/runtime/src/main/java/org/apache/camel/quarkus/component/avro/rpc/spi/VertxHttpServerFactory.java
 
b/extensions/avro-rpc/runtime/src/main/java/org/apache/camel/quarkus/component/avro/rpc/spi/VertxHttpServerFactory.java
deleted file mode 100644
index 401b52add1..0000000000
--- 
a/extensions/avro-rpc/runtime/src/main/java/org/apache/camel/quarkus/component/avro/rpc/spi/VertxHttpServerFactory.java
+++ /dev/null
@@ -1,29 +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.avro.rpc.spi;
-
-import org.apache.avro.ipc.Server;
-import org.apache.avro.ipc.specific.SpecificResponder;
-import org.apache.camel.component.avro.spi.AvroRpcHttpServerFactory;
-
-public class VertxHttpServerFactory implements AvroRpcHttpServerFactory {
-    @Override
-    public Server create(SpecificResponder responder, int port) throws 
Exception {
-        return new VertxHttpServer(responder, port);
-    }
-
-}
diff --git 
a/extensions/avro-rpc/runtime/src/main/resources/META-INF/quarkus-extension.yaml
 
b/extensions/avro-rpc/runtime/src/main/resources/META-INF/quarkus-extension.yaml
deleted file mode 100644
index 1347c44011..0000000000
--- 
a/extensions/avro-rpc/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ /dev/null
@@ -1,30 +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 Avro RPC"
-description: "Produce or consume Apache Avro RPC services"
-metadata:
-  guide: 
"https://camel.apache.org/camel-quarkus/latest/reference/extensions/avro-rpc.html";
-  categories:
-  - "integration"
-  status: "stable"
diff --git 
a/extensions/avro-rpc/runtime/src/main/resources/META-INF/services/org/apache/camel/avro-rpc-http-server-factory
 
b/extensions/avro-rpc/runtime/src/main/resources/META-INF/services/org/apache/camel/avro-rpc-http-server-factory
deleted file mode 100644
index be108d0fc5..0000000000
--- 
a/extensions/avro-rpc/runtime/src/main/resources/META-INF/services/org/apache/camel/avro-rpc-http-server-factory
+++ /dev/null
@@ -1 +0,0 @@
-class=org.apache.camel.quarkus.component.avro.rpc.spi.VertxHttpServerFactory
\ No newline at end of file
diff --git a/extensions/pom.xml b/extensions/pom.xml
index c5baebc797..9478ec2b8c 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -44,7 +44,6 @@
         <module>atom</module>
         <module>attachments</module>
         <module>avro</module>
-        <!--<module>avro-rpc</module> 
https://github.com/apache/camel-quarkus/issues/4462 -->
         <module>aws-bedrock</module>
         <module>aws-cloudtrail</module>
         <module>aws-secrets-manager</module>
diff --git a/integration-tests/avro-rpc/pom.xml 
b/integration-tests/avro-rpc/pom.xml
deleted file mode 100644
index 7f5bbae8fd..0000000000
--- a/integration-tests/avro-rpc/pom.xml
+++ /dev/null
@@ -1,162 +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-it</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
-        <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
-    </parent>
-
-    <artifactId>camel-quarkus-integration-test-avro-rpc</artifactId>
-    <name>Camel Quarkus :: Integration Tests :: Avro RPC</name>
-    <description>Integration tests for Camel Quarkus Avro RPC 
extension</description>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-avro-rpc</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-resteasy</artifactId>
-        </dependency>
-        <!-- test dependencies -->
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-junit</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-test-support</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.avro</groupId>
-            <artifactId>avro-ipc-jetty</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>javax.servlet</groupId>
-                    <artifactId>javax.servlet-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>javax.annotation</groupId>
-                    <artifactId>javax.annotation-api</artifactId>
-                </exclusion>
-            </exclusions>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <profiles>
-        <profile>
-            <id>native</id>
-            <activation>
-                <property>
-                    <name>native</name>
-                </property>
-            </activation>
-            <properties>
-                <quarkus.native.enabled>true</quarkus.native.enabled>
-            </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>
-
-        <!-- Profile for generation of protocol files into package 
`org.apache.camel.quarkus.component.avro.rpc.it.specific.generated` -->
-        <profile>
-            <id>avro</id>
-            <activation>
-                <property>
-                    <name>!quickly</name>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.avro</groupId>
-                        <artifactId>avro-maven-plugin</artifactId>
-                        <version>${avro.version}</version>
-                        <executions>
-                            <execution>
-                                <phase>generate-sources</phase>
-                                <goals>
-                                    <goal>schema</goal>
-                                    <goal>protocol</goal>
-                                    <goal>idl-protocol</goal>
-                                </goals>
-                                <configuration>
-                                    
<sourceDirectory>${project.basedir}/src/main/avro/</sourceDirectory>
-                                    
<outputDirectory>${project.basedir}/src/main/java/</outputDirectory>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>virtualDependencies</id>
-            <activation>
-                <property>
-                    <name>!noVirtualDependencies</name>
-                </property>
-            </activation>
-            <dependencies>
-                <!-- 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-avro-rpc-deployment</artifactId>
-                    <version>${project.version}</version>
-                    <type>pom</type>
-                    <scope>test</scope>
-                    <exclusions>
-                        <exclusion>
-                            <groupId>*</groupId>
-                            <artifactId>*</artifactId>
-                        </exclusion>
-                    </exclusions>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles>
-
-</project>
diff --git a/integration-tests/avro-rpc/src/main/avro/test.avpr 
b/integration-tests/avro-rpc/src/main/avro/test.avpr
deleted file mode 100644
index 96eea98fb6..0000000000
--- a/integration-tests/avro-rpc/src/main/avro/test.avpr
+++ /dev/null
@@ -1,27 +0,0 @@
-{"namespace": 
"org.apache.camel.quarkus.component.avro.rpc.it.specific.generated",
- "protocol": "KeyValueProtocol",
-
- "types": [
-     {"name": "Key", "type": "record",
-      "fields": [
-          {"name": "key",   "type": "string"}
-      ]
-     },
-     {"name": "Value", "type": "record",
-      "fields": [
-          {"name": "value",   "type": "string"}
-      ]
-     }
- ],
-
- "messages": {
-     "put": {
-         "request": [{"name": "key", "type": "Key"}, {"name": "value", "type": 
"Value"} ],
-         "response": "null"
-     },
-     "get": {
-         "request": [{"name": "key", "type": "Key"}],
-         "response": "Value"
-     }
- }
-}
\ No newline at end of file
diff --git 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcResource.java
 
b/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcResource.java
deleted file mode 100644
index 1a644c55fa..0000000000
--- 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcResource.java
+++ /dev/null
@@ -1,152 +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.avro.rpc.it;
-
-import jakarta.enterprise.context.ApplicationScoped;
-import jakarta.inject.Inject;
-import jakarta.ws.rs.Consumes;
-import jakarta.ws.rs.POST;
-import jakarta.ws.rs.Path;
-import jakarta.ws.rs.Produces;
-import jakarta.ws.rs.QueryParam;
-import jakarta.ws.rs.core.MediaType;
-
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.quarkus.component.avro.rpc.it.reflection.TestPojo;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.reflection.TestReflection;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.reflection.impl.TestReflectionImpl;
-import org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.KeyValueProtocol;
-import org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.specific.impl.KeyValueProtocolImpl;
-import org.eclipse.microprofile.config.inject.ConfigProperty;
-
-@Path("/avro-rpc")
-@ApplicationScoped
-public class AvroRpcResource {
-
-    public static final String REFLECTIVE_HTTP_SERVER_PORT_PARAM = 
"camel.avro-rpc.test.reflective.httpServerReflection.port";
-    public static final String REFLECTIVE_NETTY_SERVER_PORT_PARAM = 
"camel.avro-rpc.test.reflective.nettyServerReflection.port";
-    public static final String SPECIFIC_HTTP_SERVER_PORT_PARAM = 
"camel.avro-rpc.test.generated.httpServerReflection.port";
-    public static final String SPECIFIC_NETTY_SERVER_PORT_PARAM = 
"camel.avro-rpc.test.generated.nettyServerReflection.port";
-    public static final String REFLECTIVE_HTTP_TRANSCEIVER_PORT_PARAM = 
"camel.avro-rpc.test.httpTransceiverReflection.port";
-    public static final String REFLECTIVE_NETTY_TRANSCEIVER_PORT_PARAM = 
"camel.avro-rpc.test.nettyTransceiverReflection.port";
-    public static final String SPECIFIC_HTTP_TRANSCEIVER_PORT_PARAM = 
"camel.avro-rpc.test.specific.httpTransceiverReflection.port";
-    public static final String SPECIFIC_NETTY_TRANSCEIVER_PORT_PARAM = 
"camel.avro-rpc.test.specific.nettyTransceiverReflection.port";
-
-    private TestReflection httpTestReflection = new TestReflectionImpl(),
-            nettyTestReflection = new TestReflectionImpl();
-    private KeyValueProtocol httpKeyValue = new KeyValueProtocolImpl(),
-            nettyKeyValue = new KeyValueProtocolImpl();
-
-    @Inject
-    ProducerTemplate producerTemplate;
-
-    @ConfigProperty(name = REFLECTIVE_HTTP_SERVER_PORT_PARAM)
-    Integer reflectiveHttpPort;
-
-    @ConfigProperty(name = REFLECTIVE_NETTY_SERVER_PORT_PARAM)
-    Integer reflectiveNettyPort;
-
-    @ConfigProperty(name = SPECIFIC_HTTP_SERVER_PORT_PARAM)
-    Integer specificHttpPort;
-
-    @ConfigProperty(name = SPECIFIC_NETTY_SERVER_PORT_PARAM)
-    Integer specificNettyPort;
-
-    @Path("/reflectionProducerSet")
-    @POST
-    @Consumes(MediaType.TEXT_PLAIN)
-    public void reflectionProducerSet(@QueryParam("protocol") ProtocolType 
protocol, String name) throws Exception {
-        Object[] request = { name };
-        producerTemplate.requestBody(String.format(
-                
"avro:%s:localhost:%d/setName?protocolClassName=%s&singleParameter=true",
-                protocol,
-                protocol == ProtocolType.http ? reflectiveHttpPort : 
reflectiveNettyPort,
-                TestReflection.class.getCanonicalName()), request);
-    }
-
-    @Path("/reflectionProducerGet")
-    @POST
-    @Consumes(MediaType.TEXT_PLAIN)
-    @Produces(MediaType.TEXT_PLAIN)
-    public String reflectionProducerGet(ProtocolType protocol) throws 
Exception {
-        return producerTemplate.requestBody(String.format(
-                "avro:%s:localhost:%d/getName?protocolClassName=%s",
-                protocol,
-                protocol == ProtocolType.http ? reflectiveHttpPort : 
reflectiveNettyPort,
-                TestReflection.class.getCanonicalName()), null, String.class);
-    }
-
-    @Path("/specificProducerPut")
-    @POST
-    @Produces(MediaType.TEXT_PLAIN)
-    public void specificProducerPut(@QueryParam("protocol") ProtocolType 
protocol, @QueryParam("key") String key, String value)
-            throws Exception {
-        Key k = Key.newBuilder().setKey(key).build();
-        Value v = Value.newBuilder().setValue(value).build();
-
-        Object[] request = { k, v };
-        producerTemplate.requestBody(String.format(
-                "avro:%s:localhost:%d/put?protocolClassName=%s",
-                protocol,
-                protocol == ProtocolType.http ? specificHttpPort : 
specificNettyPort,
-                KeyValueProtocol.class.getCanonicalName()), request);
-    }
-
-    @Path("/specificProducerGet")
-    @POST
-    @Consumes(MediaType.TEXT_PLAIN)
-    @Produces(MediaType.TEXT_PLAIN)
-    public String specificProducerGet(@QueryParam("protocol") ProtocolType 
protocol, String key) throws Exception {
-        Key k = Key.newBuilder().setKey(key).build();
-
-        Object[] request = { k };
-        return producerTemplate.requestBody(String.format(
-                
"avro:%s:localhost:%d/get?protocolClassName=%s&singleParameter=true",
-                protocol,
-                protocol == ProtocolType.http ? specificHttpPort : 
specificNettyPort,
-                KeyValueProtocol.class.getCanonicalName()), request, 
String.class);
-    }
-
-    @Path("/reflectionConsumerGet")
-    @POST
-    @Consumes(MediaType.TEXT_PLAIN)
-    @Produces(MediaType.TEXT_PLAIN)
-    public String reflectionConsumerGet(ProtocolType protocol) throws 
Exception {
-        TestPojo testPojo = getTestReflection(protocol).getTestPojo();
-        return testPojo != null ? testPojo.getPojoName() : null;
-    }
-
-    @Path("/specificConsumerGet")
-    @POST
-    @Consumes(MediaType.TEXT_PLAIN)
-    @Produces(MediaType.TEXT_PLAIN)
-    public String specificConsumerGet(@QueryParam("protocol") ProtocolType 
protocol, String key) throws Exception {
-        Key k = Key.newBuilder().setKey(key).build();
-
-        return getKeyValue(protocol).get(k).toString();
-    }
-
-    public TestReflection getTestReflection(ProtocolType protocol) {
-        return protocol == ProtocolType.http ? httpTestReflection : 
nettyTestReflection;
-    }
-
-    public KeyValueProtocol getKeyValue(ProtocolType protocol) {
-        return protocol == ProtocolType.http ? httpKeyValue : nettyKeyValue;
-    }
-}
diff --git 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcRouteBuilder.java
 
b/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcRouteBuilder.java
deleted file mode 100644
index 0b202f7187..0000000000
--- 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcRouteBuilder.java
+++ /dev/null
@@ -1,69 +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.avro.rpc.it;
-
-import jakarta.enterprise.context.ApplicationScoped;
-import jakarta.inject.Inject;
-
-import org.apache.camel.builder.RouteBuilder;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.reflection.ReflectionProcessor;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.reflection.TestReflection;
-import org.apache.camel.quarkus.component.avro.rpc.it.specific.PutProcessor;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.KeyValueProtocol;
-import org.eclipse.microprofile.config.inject.ConfigProperty;
-
-@ApplicationScoped
-public class AvroRpcRouteBuilder extends RouteBuilder {
-    public static final String DIRECT_START = "direct:start";
-
-    @ConfigProperty(name = 
AvroRpcResource.REFLECTIVE_HTTP_TRANSCEIVER_PORT_PARAM)
-    Integer httpPort;
-
-    @ConfigProperty(name = 
AvroRpcResource.REFLECTIVE_NETTY_TRANSCEIVER_PORT_PARAM)
-    Integer nettyPort;
-
-    @ConfigProperty(name = 
AvroRpcResource.SPECIFIC_HTTP_TRANSCEIVER_PORT_PARAM)
-    Integer specificHttpPort;
-
-    @ConfigProperty(name = 
AvroRpcResource.SPECIFIC_NETTY_TRANSCEIVER_PORT_PARAM)
-    Integer specificNettyPort;
-
-    @Inject
-    AvroRpcResource avroRpcResource;
-
-    @Override
-    public void configure() throws Exception {
-
-        
from(String.format("avro:http:localhost:%d/setTestPojo?protocolClassName=%s&singleParameter=true",
 httpPort,
-                TestReflection.class.getCanonicalName()))
-                        .process(new 
ReflectionProcessor(avroRpcResource.getTestReflection(ProtocolType.http)));
-
-        
from(String.format("avro:netty:localhost:%d/setTestPojo?protocolClassName=%s&singleParameter=true",
 nettyPort,
-                TestReflection.class.getCanonicalName()))
-                        .process(new 
ReflectionProcessor(avroRpcResource.getTestReflection(ProtocolType.netty)));
-
-        from(String.format("avro:http:localhost:%d/put?protocolClassName=%s", 
specificHttpPort,
-                KeyValueProtocol.class.getCanonicalName()))
-                        .process(new 
PutProcessor(avroRpcResource.getKeyValue(ProtocolType.http)));
-
-        from(String.format("avro:netty:localhost:%d/put?protocolClassName=%s", 
specificNettyPort,
-                KeyValueProtocol.class.getCanonicalName()))
-                        .process(new 
PutProcessor(avroRpcResource.getKeyValue(ProtocolType.netty)));
-
-    }
-}
diff --git 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/ProtocolType.java
 
b/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/ProtocolType.java
deleted file mode 100644
index 3facbc7e3b..0000000000
--- 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/ProtocolType.java
+++ /dev/null
@@ -1,21 +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.avro.rpc.it;
-
-public enum ProtocolType {
-    http, netty
-}
diff --git 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/reflection/ReflectionProcessor.java
 
b/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/reflection/ReflectionProcessor.java
deleted file mode 100644
index 0dd89e8ae2..0000000000
--- 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/reflection/ReflectionProcessor.java
+++ /dev/null
@@ -1,37 +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.avro.rpc.it.reflection;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-
-public class ReflectionProcessor implements Processor {
-
-    private final TestReflection testReflection;
-
-    public ReflectionProcessor(TestReflection testReflection) {
-        this.testReflection = testReflection;
-    }
-
-    @Override
-    public void process(Exchange exchange) {
-        Object body = exchange.getIn().getBody();
-        if (body instanceof TestPojo) {
-            testReflection.setTestPojo((TestPojo) body);
-        }
-    }
-}
diff --git 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/reflection/TestPojo.java
 
b/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/reflection/TestPojo.java
deleted file mode 100644
index 7751eb5131..0000000000
--- 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/reflection/TestPojo.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.component.avro.rpc.it.reflection;
-
-import io.quarkus.runtime.annotations.RegisterForReflection;
-
-@RegisterForReflection
-public class TestPojo {
-
-    private String pojoName;
-
-    public String getPojoName() {
-        return pojoName;
-    }
-
-    public void setPojoName(String pojoName) {
-        this.pojoName = pojoName;
-    }
-}
diff --git 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/reflection/TestReflection.java
 
b/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/reflection/TestReflection.java
deleted file mode 100644
index 9fb3face0c..0000000000
--- 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/reflection/TestReflection.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.component.avro.rpc.it.reflection;
-
-import io.quarkus.runtime.annotations.RegisterForReflection;
-
-@RegisterForReflection
-public interface TestReflection {
-
-    String getName();
-
-    void setName(String name);
-
-    void setTestPojo(TestPojo testPojo);
-
-    TestPojo getTestPojo();
-
-}
diff --git 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/reflection/impl/TestReflectionImpl.java
 
b/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/reflection/impl/TestReflectionImpl.java
deleted file mode 100644
index b9d4aa3d53..0000000000
--- 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/reflection/impl/TestReflectionImpl.java
+++ /dev/null
@@ -1,48 +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.avro.rpc.it.reflection.impl;
-
-import org.apache.camel.quarkus.component.avro.rpc.it.reflection.TestPojo;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.reflection.TestReflection;
-
-public class TestReflectionImpl implements TestReflection {
-
-    String name = "";
-    int age;
-    TestPojo testPojo;
-
-    @Override
-    public String getName() {
-        return this.name;
-    }
-
-    @Override
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    @Override
-    public void setTestPojo(TestPojo testPojo) {
-        this.testPojo = testPojo;
-    }
-
-    @Override
-    public TestPojo getTestPojo() {
-        return testPojo;
-    }
-
-}
diff --git 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/specific/PutProcessor.java
 
b/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/specific/PutProcessor.java
deleted file mode 100644
index 38b4393a2c..0000000000
--- 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/specific/PutProcessor.java
+++ /dev/null
@@ -1,43 +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.avro.rpc.it.specific;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.KeyValueProtocol;
-import org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value;
-
-public class PutProcessor implements Processor {
-
-    private KeyValueProtocol keyValue;
-
-    public PutProcessor(KeyValueProtocol keyValue) {
-        this.keyValue = keyValue;
-    }
-
-    @Override
-    public void process(Exchange exchange) {
-        Object body = exchange.getIn().getBody();
-        if (body instanceof Object[]) {
-            Object[] args = (Object[]) body;
-            if (args.length == 2 && args[0] instanceof Key && args[1] 
instanceof Value) {
-                keyValue.put((Key) args[0], (Value) args[1]);
-            }
-        }
-    }
-}
diff --git 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/specific/generated/Key.java
 
b/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/specific/generated/Key.java
deleted file mode 100644
index 508e3a652a..0000000000
--- 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/specific/generated/Key.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/**
- * Autogenerated by Avro
- *
- * DO NOT EDIT DIRECTLY
- */
-package org.apache.camel.quarkus.component.avro.rpc.it.specific.generated;
-
-import org.apache.avro.message.BinaryMessageDecoder;
-import org.apache.avro.message.BinaryMessageEncoder;
-import org.apache.avro.message.SchemaStore;
-import org.apache.avro.specific.SpecificData;
-import org.apache.avro.util.Utf8;
-
[email protected]
-public class Key extends org.apache.avro.specific.SpecificRecordBase 
implements org.apache.avro.specific.SpecificRecord {
-    private static final long serialVersionUID = -1622555054919462235L;
-    public static final org.apache.avro.Schema SCHEMA$ = new 
org.apache.avro.Schema.Parser().parse(
-            
"{\"type\":\"record\",\"name\":\"Key\",\"namespace\":\"org.apache.camel.quarkus.component.avro.rpc.it.specific.generated\",\"fields\":[{\"name\":\"key\",\"type\":\"string\"}]}");
-
-    public static org.apache.avro.Schema getClassSchema() {
-        return SCHEMA$;
-    }
-
-    private static SpecificData MODEL$ = new SpecificData();
-
-    private static final BinaryMessageEncoder<Key> ENCODER = new 
BinaryMessageEncoder<Key>(MODEL$, SCHEMA$);
-
-    private static final BinaryMessageDecoder<Key> DECODER = new 
BinaryMessageDecoder<Key>(MODEL$, SCHEMA$);
-
-    /**
-     * Return the BinaryMessageEncoder instance used by this class.
-     * 
-     * @return the message encoder used by this class
-     */
-    public static BinaryMessageEncoder<Key> getEncoder() {
-        return ENCODER;
-    }
-
-    /**
-     * Return the BinaryMessageDecoder instance used by this class.
-     * 
-     * @return the message decoder used by this class
-     */
-    public static BinaryMessageDecoder<Key> getDecoder() {
-        return DECODER;
-    }
-
-    /**
-     * Create a new BinaryMessageDecoder instance for this class that uses the 
specified {@link SchemaStore}.
-     * 
-     * @param  resolver a {@link SchemaStore} used to find schemas by 
fingerprint
-     * @return          a BinaryMessageDecoder instance for this class backed 
by the given SchemaStore
-     */
-    public static BinaryMessageDecoder<Key> createDecoder(SchemaStore 
resolver) {
-        return new BinaryMessageDecoder<Key>(MODEL$, SCHEMA$, resolver);
-    }
-
-    /**
-     * Serializes this Key to a ByteBuffer.
-     * 
-     * @return                     a buffer holding the serialized data for 
this instance
-     * @throws java.io.IOException if this instance could not be serialized
-     */
-    public java.nio.ByteBuffer toByteBuffer() throws java.io.IOException {
-        return ENCODER.encode(this);
-    }
-
-    /**
-     * Deserializes a Key from a ByteBuffer.
-     * 
-     * @param  b                   a byte buffer holding serialized data for 
an instance of this class
-     * @return                     a Key instance decoded from the given buffer
-     * @throws java.io.IOException if the given bytes could not be 
deserialized into an instance of this class
-     */
-    public static Key fromByteBuffer(
-            java.nio.ByteBuffer b) throws java.io.IOException {
-        return DECODER.decode(b);
-    }
-
-    private java.lang.CharSequence key;
-
-    /**
-     * Default constructor. Note that this does not initialize fields
-     * to their default values from the schema. If that is desired then
-     * one should use <code>newBuilder()</code>.
-     */
-    public Key() {
-    }
-
-    /**
-     * All-args constructor.
-     * 
-     * @param key The new value for key
-     */
-    public Key(java.lang.CharSequence key) {
-        this.key = key;
-    }
-
-    public org.apache.avro.specific.SpecificData getSpecificData() {
-        return MODEL$;
-    }
-
-    public org.apache.avro.Schema getSchema() {
-        return SCHEMA$;
-    }
-
-    // Used by DatumWriter.  Applications should not call.
-    public java.lang.Object get(int field$) {
-        switch (field$) {
-        case 0:
-            return key;
-        default:
-            throw new IndexOutOfBoundsException("Invalid index: " + field$);
-        }
-    }
-
-    // Used by DatumReader.  Applications should not call.
-    @SuppressWarnings(value = "unchecked")
-    public void put(int field$, java.lang.Object value$) {
-        switch (field$) {
-        case 0:
-            key = (java.lang.CharSequence) value$;
-            break;
-        default:
-            throw new IndexOutOfBoundsException("Invalid index: " + field$);
-        }
-    }
-
-    /**
-     * Gets the value of the 'key' field.
-     * 
-     * @return The value of the 'key' field.
-     */
-    public java.lang.CharSequence getKey() {
-        return key;
-    }
-
-    /**
-     * Sets the value of the 'key' field.
-     * 
-     * @param value the value to set.
-     */
-    public void setKey(java.lang.CharSequence value) {
-        this.key = value;
-    }
-
-    /**
-     * Creates a new Key RecordBuilder.
-     * 
-     * @return A new Key RecordBuilder
-     */
-    public static 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key.Builder 
newBuilder() {
-        return new 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key.Builder();
-    }
-
-    /**
-     * Creates a new Key RecordBuilder by copying an existing Builder.
-     * 
-     * @param  other The existing builder to copy.
-     * @return       A new Key RecordBuilder
-     */
-    public static 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key.Builder 
newBuilder(
-            
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key.Builder 
other) {
-        if (other == null) {
-            return new 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key.Builder();
-        } else {
-            return new 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key.Builder(other);
-        }
-    }
-
-    /**
-     * Creates a new Key RecordBuilder by copying an existing Key instance.
-     * 
-     * @param  other The existing instance to copy.
-     * @return       A new Key RecordBuilder
-     */
-    public static 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key.Builder 
newBuilder(
-            
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key other) {
-        if (other == null) {
-            return new 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key.Builder();
-        } else {
-            return new 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key.Builder(other);
-        }
-    }
-
-    /**
-     * RecordBuilder for Key instances.
-     */
-    @org.apache.avro.specific.AvroGenerated
-    public static class Builder extends 
org.apache.avro.specific.SpecificRecordBuilderBase<Key>
-            implements org.apache.avro.data.RecordBuilder<Key> {
-
-        private java.lang.CharSequence key;
-
-        /** Creates a new Builder */
-        private Builder() {
-            super(SCHEMA$);
-        }
-
-        /**
-         * Creates a Builder by copying an existing Builder.
-         * 
-         * @param other The existing Builder to copy.
-         */
-        private 
Builder(org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key.Builder
 other) {
-            super(other);
-            if (isValidValue(fields()[0], other.key)) {
-                this.key = data().deepCopy(fields()[0].schema(), other.key);
-                fieldSetFlags()[0] = other.fieldSetFlags()[0];
-            }
-        }
-
-        /**
-         * Creates a Builder by copying an existing Key instance
-         * 
-         * @param other The existing instance to copy.
-         */
-        private 
Builder(org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key 
other) {
-            super(SCHEMA$);
-            if (isValidValue(fields()[0], other.key)) {
-                this.key = data().deepCopy(fields()[0].schema(), other.key);
-                fieldSetFlags()[0] = true;
-            }
-        }
-
-        /**
-         * Gets the value of the 'key' field.
-         * 
-         * @return The value.
-         */
-        public java.lang.CharSequence getKey() {
-            return key;
-        }
-
-        /**
-         * Sets the value of the 'key' field.
-         * 
-         * @param  value The value of 'key'.
-         * @return       This builder.
-         */
-        public 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key.Builder 
setKey(
-                java.lang.CharSequence value) {
-            validate(fields()[0], value);
-            this.key = value;
-            fieldSetFlags()[0] = true;
-            return this;
-        }
-
-        /**
-         * Checks whether the 'key' field has been set.
-         * 
-         * @return True if the 'key' field has been set, false otherwise.
-         */
-        public boolean hasKey() {
-            return fieldSetFlags()[0];
-        }
-
-        /**
-         * Clears the value of the 'key' field.
-         * 
-         * @return This builder.
-         */
-        public 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key.Builder 
clearKey() {
-            key = null;
-            fieldSetFlags()[0] = false;
-            return this;
-        }
-
-        @Override
-        @SuppressWarnings("unchecked")
-        public Key build() {
-            try {
-                Key record = new Key();
-                record.key = fieldSetFlags()[0] ? this.key : 
(java.lang.CharSequence) defaultValue(fields()[0]);
-                return record;
-            } catch (org.apache.avro.AvroMissingFieldException e) {
-                throw e;
-            } catch (java.lang.Exception e) {
-                throw new org.apache.avro.AvroRuntimeException(e);
-            }
-        }
-    }
-
-    @SuppressWarnings("unchecked")
-    private static final org.apache.avro.io.DatumWriter<Key> WRITER$ = 
(org.apache.avro.io.DatumWriter<Key>) MODEL$
-            .createDatumWriter(SCHEMA$);
-
-    @Override
-    public void writeExternal(java.io.ObjectOutput out)
-            throws java.io.IOException {
-        WRITER$.write(this, SpecificData.getEncoder(out));
-    }
-
-    @SuppressWarnings("unchecked")
-    private static final org.apache.avro.io.DatumReader<Key> READER$ = 
(org.apache.avro.io.DatumReader<Key>) MODEL$
-            .createDatumReader(SCHEMA$);
-
-    @Override
-    public void readExternal(java.io.ObjectInput in)
-            throws java.io.IOException {
-        READER$.read(this, SpecificData.getDecoder(in));
-    }
-
-    @Override
-    protected boolean hasCustomCoders() {
-        return true;
-    }
-
-    @Override
-    public void customEncode(org.apache.avro.io.Encoder out)
-            throws java.io.IOException {
-        out.writeString(this.key);
-
-    }
-
-    @Override
-    public void customDecode(org.apache.avro.io.ResolvingDecoder in)
-            throws java.io.IOException {
-        org.apache.avro.Schema.Field[] fieldOrder = in.readFieldOrderIfDiff();
-        if (fieldOrder == null) {
-            this.key = in.readString(this.key instanceof Utf8 ? (Utf8) 
this.key : null);
-
-        } else {
-            for (int i = 0; i < 1; i++) {
-                switch (fieldOrder[i].pos()) {
-                case 0:
-                    this.key = in.readString(this.key instanceof Utf8 ? (Utf8) 
this.key : null);
-                    break;
-
-                default:
-                    throw new java.io.IOException("Corrupt ResolvingDecoder.");
-                }
-            }
-        }
-    }
-}
diff --git 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/specific/generated/KeyValueProtocol.java
 
b/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/specific/generated/KeyValueProtocol.java
deleted file mode 100644
index 1c62544c09..0000000000
--- 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/specific/generated/KeyValueProtocol.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Autogenerated by Avro
- *
- * DO NOT EDIT DIRECTLY
- */
-package org.apache.camel.quarkus.component.avro.rpc.it.specific.generated;
-
[email protected]
-public interface KeyValueProtocol {
-    public static final org.apache.avro.Protocol PROTOCOL = 
org.apache.avro.Protocol.parse(
-            
"{\"protocol\":\"KeyValueProtocol\",\"namespace\":\"org.apache.camel.quarkus.component.avro.rpc.it.specific.generated\",\"types\":[{\"type\":\"record\",\"name\":\"Key\",\"fields\":[{\"name\":\"key\",\"type\":\"string\"}]},{\"type\":\"record\",\"name\":\"Value\",\"fields\":[{\"name\":\"value\",\"type\":\"string\"}]}],\"messages\":{\"put\":{\"request\":[{\"name\":\"key\",\"type\":\"Key\"},{\"name\":\"value\",\"type\":\"Value\"}],\"response\":\"null\"},\"get\":{\"request\":[{\"n
 [...]
-
-    /**
-     */
-    void 
put(org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key key,
-            
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value value);
-
-    /**
-     */
-    org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value 
get(
-            
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key key);
-
-    @SuppressWarnings("all")
-    public interface Callback extends KeyValueProtocol {
-        public static final org.apache.avro.Protocol PROTOCOL = 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.KeyValueProtocol.PROTOCOL;
-
-        /**
-         * @throws java.io.IOException The async call could not be completed.
-         */
-        void 
put(org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key key,
-                
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value value,
-                org.apache.avro.ipc.Callback<java.lang.Void> callback) throws 
java.io.IOException;
-
-        /**
-         * @throws java.io.IOException The async call could not be completed.
-         */
-        void 
get(org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key key,
-                
org.apache.avro.ipc.Callback<org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value>
 callback)
-                throws java.io.IOException;
-    }
-}
diff --git 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/specific/generated/Value.java
 
b/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/specific/generated/Value.java
deleted file mode 100644
index f782458cce..0000000000
--- 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/specific/generated/Value.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/**
- * Autogenerated by Avro
- *
- * DO NOT EDIT DIRECTLY
- */
-package org.apache.camel.quarkus.component.avro.rpc.it.specific.generated;
-
-import org.apache.avro.message.BinaryMessageDecoder;
-import org.apache.avro.message.BinaryMessageEncoder;
-import org.apache.avro.message.SchemaStore;
-import org.apache.avro.specific.SpecificData;
-import org.apache.avro.util.Utf8;
-
[email protected]
-public class Value extends org.apache.avro.specific.SpecificRecordBase 
implements org.apache.avro.specific.SpecificRecord {
-    private static final long serialVersionUID = 6804416544463210058L;
-    public static final org.apache.avro.Schema SCHEMA$ = new 
org.apache.avro.Schema.Parser().parse(
-            
"{\"type\":\"record\",\"name\":\"Value\",\"namespace\":\"org.apache.camel.quarkus.component.avro.rpc.it.specific.generated\",\"fields\":[{\"name\":\"value\",\"type\":\"string\"}]}");
-
-    public static org.apache.avro.Schema getClassSchema() {
-        return SCHEMA$;
-    }
-
-    private static SpecificData MODEL$ = new SpecificData();
-
-    private static final BinaryMessageEncoder<Value> ENCODER = new 
BinaryMessageEncoder<Value>(MODEL$, SCHEMA$);
-
-    private static final BinaryMessageDecoder<Value> DECODER = new 
BinaryMessageDecoder<Value>(MODEL$, SCHEMA$);
-
-    /**
-     * Return the BinaryMessageEncoder instance used by this class.
-     * 
-     * @return the message encoder used by this class
-     */
-    public static BinaryMessageEncoder<Value> getEncoder() {
-        return ENCODER;
-    }
-
-    /**
-     * Return the BinaryMessageDecoder instance used by this class.
-     * 
-     * @return the message decoder used by this class
-     */
-    public static BinaryMessageDecoder<Value> getDecoder() {
-        return DECODER;
-    }
-
-    /**
-     * Create a new BinaryMessageDecoder instance for this class that uses the 
specified {@link SchemaStore}.
-     * 
-     * @param  resolver a {@link SchemaStore} used to find schemas by 
fingerprint
-     * @return          a BinaryMessageDecoder instance for this class backed 
by the given SchemaStore
-     */
-    public static BinaryMessageDecoder<Value> createDecoder(SchemaStore 
resolver) {
-        return new BinaryMessageDecoder<Value>(MODEL$, SCHEMA$, resolver);
-    }
-
-    /**
-     * Serializes this Value to a ByteBuffer.
-     * 
-     * @return                     a buffer holding the serialized data for 
this instance
-     * @throws java.io.IOException if this instance could not be serialized
-     */
-    public java.nio.ByteBuffer toByteBuffer() throws java.io.IOException {
-        return ENCODER.encode(this);
-    }
-
-    /**
-     * Deserializes a Value from a ByteBuffer.
-     * 
-     * @param  b                   a byte buffer holding serialized data for 
an instance of this class
-     * @return                     a Value instance decoded from the given 
buffer
-     * @throws java.io.IOException if the given bytes could not be 
deserialized into an instance of this class
-     */
-    public static Value fromByteBuffer(
-            java.nio.ByteBuffer b) throws java.io.IOException {
-        return DECODER.decode(b);
-    }
-
-    private java.lang.CharSequence value;
-
-    /**
-     * Default constructor. Note that this does not initialize fields
-     * to their default values from the schema. If that is desired then
-     * one should use <code>newBuilder()</code>.
-     */
-    public Value() {
-    }
-
-    /**
-     * All-args constructor.
-     * 
-     * @param value The new value for value
-     */
-    public Value(java.lang.CharSequence value) {
-        this.value = value;
-    }
-
-    public org.apache.avro.specific.SpecificData getSpecificData() {
-        return MODEL$;
-    }
-
-    public org.apache.avro.Schema getSchema() {
-        return SCHEMA$;
-    }
-
-    // Used by DatumWriter.  Applications should not call.
-    public java.lang.Object get(int field$) {
-        switch (field$) {
-        case 0:
-            return value;
-        default:
-            throw new IndexOutOfBoundsException("Invalid index: " + field$);
-        }
-    }
-
-    // Used by DatumReader.  Applications should not call.
-    @SuppressWarnings(value = "unchecked")
-    public void put(int field$, java.lang.Object value$) {
-        switch (field$) {
-        case 0:
-            value = (java.lang.CharSequence) value$;
-            break;
-        default:
-            throw new IndexOutOfBoundsException("Invalid index: " + field$);
-        }
-    }
-
-    /**
-     * Gets the value of the 'value' field.
-     * 
-     * @return The value of the 'value' field.
-     */
-    public java.lang.CharSequence getValue() {
-        return value;
-    }
-
-    /**
-     * Sets the value of the 'value' field.
-     * 
-     * @param value the value to set.
-     */
-    public void setValue(java.lang.CharSequence value) {
-        this.value = value;
-    }
-
-    /**
-     * Creates a new Value RecordBuilder.
-     * 
-     * @return A new Value RecordBuilder
-     */
-    public static 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value.Builder 
newBuilder() {
-        return new 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value.Builder();
-    }
-
-    /**
-     * Creates a new Value RecordBuilder by copying an existing Builder.
-     * 
-     * @param  other The existing builder to copy.
-     * @return       A new Value RecordBuilder
-     */
-    public static 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value.Builder 
newBuilder(
-            
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value.Builder 
other) {
-        if (other == null) {
-            return new 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value.Builder();
-        } else {
-            return new 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value.Builder(other);
-        }
-    }
-
-    /**
-     * Creates a new Value RecordBuilder by copying an existing Value instance.
-     * 
-     * @param  other The existing instance to copy.
-     * @return       A new Value RecordBuilder
-     */
-    public static 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value.Builder 
newBuilder(
-            
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value other) {
-        if (other == null) {
-            return new 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value.Builder();
-        } else {
-            return new 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value.Builder(other);
-        }
-    }
-
-    /**
-     * RecordBuilder for Value instances.
-     */
-    @org.apache.avro.specific.AvroGenerated
-    public static class Builder extends 
org.apache.avro.specific.SpecificRecordBuilderBase<Value>
-            implements org.apache.avro.data.RecordBuilder<Value> {
-
-        private java.lang.CharSequence value;
-
-        /** Creates a new Builder */
-        private Builder() {
-            super(SCHEMA$);
-        }
-
-        /**
-         * Creates a Builder by copying an existing Builder.
-         * 
-         * @param other The existing Builder to copy.
-         */
-        private 
Builder(org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value.Builder
 other) {
-            super(other);
-            if (isValidValue(fields()[0], other.value)) {
-                this.value = data().deepCopy(fields()[0].schema(), 
other.value);
-                fieldSetFlags()[0] = other.fieldSetFlags()[0];
-            }
-        }
-
-        /**
-         * Creates a Builder by copying an existing Value instance
-         * 
-         * @param other The existing instance to copy.
-         */
-        private 
Builder(org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value 
other) {
-            super(SCHEMA$);
-            if (isValidValue(fields()[0], other.value)) {
-                this.value = data().deepCopy(fields()[0].schema(), 
other.value);
-                fieldSetFlags()[0] = true;
-            }
-        }
-
-        /**
-         * Gets the value of the 'value' field.
-         * 
-         * @return The value.
-         */
-        public java.lang.CharSequence getValue() {
-            return value;
-        }
-
-        /**
-         * Sets the value of the 'value' field.
-         * 
-         * @param  value The value of 'value'.
-         * @return       This builder.
-         */
-        public 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value.Builder 
setValue(
-                java.lang.CharSequence value) {
-            validate(fields()[0], value);
-            this.value = value;
-            fieldSetFlags()[0] = true;
-            return this;
-        }
-
-        /**
-         * Checks whether the 'value' field has been set.
-         * 
-         * @return True if the 'value' field has been set, false otherwise.
-         */
-        public boolean hasValue() {
-            return fieldSetFlags()[0];
-        }
-
-        /**
-         * Clears the value of the 'value' field.
-         * 
-         * @return This builder.
-         */
-        public 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value.Builder 
clearValue() {
-            value = null;
-            fieldSetFlags()[0] = false;
-            return this;
-        }
-
-        @Override
-        @SuppressWarnings("unchecked")
-        public Value build() {
-            try {
-                Value record = new Value();
-                record.value = fieldSetFlags()[0] ? this.value : 
(java.lang.CharSequence) defaultValue(fields()[0]);
-                return record;
-            } catch (org.apache.avro.AvroMissingFieldException e) {
-                throw e;
-            } catch (java.lang.Exception e) {
-                throw new org.apache.avro.AvroRuntimeException(e);
-            }
-        }
-    }
-
-    @SuppressWarnings("unchecked")
-    private static final org.apache.avro.io.DatumWriter<Value> WRITER$ = 
(org.apache.avro.io.DatumWriter<Value>) MODEL$
-            .createDatumWriter(SCHEMA$);
-
-    @Override
-    public void writeExternal(java.io.ObjectOutput out)
-            throws java.io.IOException {
-        WRITER$.write(this, SpecificData.getEncoder(out));
-    }
-
-    @SuppressWarnings("unchecked")
-    private static final org.apache.avro.io.DatumReader<Value> READER$ = 
(org.apache.avro.io.DatumReader<Value>) MODEL$
-            .createDatumReader(SCHEMA$);
-
-    @Override
-    public void readExternal(java.io.ObjectInput in)
-            throws java.io.IOException {
-        READER$.read(this, SpecificData.getDecoder(in));
-    }
-
-    @Override
-    protected boolean hasCustomCoders() {
-        return true;
-    }
-
-    @Override
-    public void customEncode(org.apache.avro.io.Encoder out)
-            throws java.io.IOException {
-        out.writeString(this.value);
-
-    }
-
-    @Override
-    public void customDecode(org.apache.avro.io.ResolvingDecoder in)
-            throws java.io.IOException {
-        org.apache.avro.Schema.Field[] fieldOrder = in.readFieldOrderIfDiff();
-        if (fieldOrder == null) {
-            this.value = in.readString(this.value instanceof Utf8 ? (Utf8) 
this.value : null);
-
-        } else {
-            for (int i = 0; i < 1; i++) {
-                switch (fieldOrder[i].pos()) {
-                case 0:
-                    this.value = in.readString(this.value instanceof Utf8 ? 
(Utf8) this.value : null);
-                    break;
-
-                default:
-                    throw new java.io.IOException("Corrupt ResolvingDecoder.");
-                }
-            }
-        }
-    }
-}
diff --git 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/specific/impl/KeyValueProtocolImpl.java
 
b/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/specific/impl/KeyValueProtocolImpl.java
deleted file mode 100644
index 1a1fdd88e6..0000000000
--- 
a/integration-tests/avro-rpc/src/main/java/org/apache/camel/quarkus/component/avro/rpc/it/specific/impl/KeyValueProtocolImpl.java
+++ /dev/null
@@ -1,44 +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.avro.rpc.it.specific.impl;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.KeyValueProtocol;
-import org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value;
-
-public class KeyValueProtocolImpl implements KeyValueProtocol {
-
-    private Map<Key, Value> store = new HashMap<>();
-
-    @Override
-    public void put(Key key, Value value) {
-        store.put(key, value);
-    }
-
-    @Override
-    public Value get(Key key) {
-        return store.get(key);
-    }
-
-    public Map<Key, Value> getStore() {
-        return store;
-    }
-
-}
diff --git 
a/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcHttpIT.java
 
b/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcHttpIT.java
deleted file mode 100644
index 04c7b3fa35..0000000000
--- 
a/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcHttpIT.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.avro.rpc.it;
-
-import io.quarkus.test.junit.QuarkusIntegrationTest;
-
-@QuarkusIntegrationTest
-class AvroRpcHttpIT extends AvroRpcHttpTest {
-
-}
diff --git 
a/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcHttpTest.java
 
b/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcHttpTest.java
deleted file mode 100644
index d068532589..0000000000
--- 
a/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcHttpTest.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.component.avro.rpc.it;
-
-import io.quarkus.test.junit.QuarkusTest;
-
-@QuarkusTest
-public class AvroRpcHttpTest extends AvroRpcTestSupport {
-
-    public AvroRpcHttpTest() {
-        super(ProtocolType.http);
-    }
-
-}
diff --git 
a/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcNettyIT.java
 
b/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcNettyIT.java
deleted file mode 100644
index bab67929b2..0000000000
--- 
a/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcNettyIT.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.avro.rpc.it;
-
-import io.quarkus.test.junit.QuarkusIntegrationTest;
-
-@QuarkusIntegrationTest
-class AvroRpcNettyIT extends AvroRpcNettyTest {
-
-}
diff --git 
a/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcNettyTest.java
 
b/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcNettyTest.java
deleted file mode 100644
index b5ed7bee33..0000000000
--- 
a/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcNettyTest.java
+++ /dev/null
@@ -1,27 +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.avro.rpc.it;
-
-import io.quarkus.test.junit.QuarkusTest;
-
-@QuarkusTest
-public class AvroRpcNettyTest extends AvroRpcTestSupport {
-
-    public AvroRpcNettyTest() {
-        super(ProtocolType.netty);
-    }
-}
diff --git 
a/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcTestResource.java
 
b/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcTestResource.java
deleted file mode 100644
index 900ae33144..0000000000
--- 
a/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcTestResource.java
+++ /dev/null
@@ -1,123 +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.avro.rpc.it;
-
-import java.net.InetSocketAddress;
-import java.util.Map;
-
-import io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
-import org.apache.avro.ipc.Server;
-import org.apache.avro.ipc.jetty.HttpServer;
-import org.apache.avro.ipc.netty.NettyServer;
-import org.apache.avro.ipc.reflect.ReflectResponder;
-import org.apache.avro.ipc.specific.SpecificResponder;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.reflection.TestReflection;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.reflection.impl.TestReflectionImpl;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.KeyValueProtocol;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.specific.impl.KeyValueProtocolImpl;
-import org.apache.camel.quarkus.test.AvailablePortFinder;
-import org.apache.camel.util.CollectionHelper;
-
-public class AvroRpcTestResource implements 
QuarkusTestResourceLifecycleManager {
-
-    //server implementations
-    TestReflection httpTestReflection = new TestReflectionImpl();
-    TestReflection nettyTestReflection = new TestReflectionImpl();
-    KeyValueProtocolImpl httpKeyValue = new KeyValueProtocolImpl();
-    KeyValueProtocolImpl nettyKeyValue = new KeyValueProtocolImpl();
-
-    //avro servers listening on localhost
-    Server reflectHttpServer, reflectNettyServer, specificHttpServer, 
specificNettyServer;
-
-    @Override
-    public Map<String, String> start() {
-        try {
-
-            // ---------------- producers ---------------
-            final int reflectiveHttpPort = 
AvailablePortFinder.getNextAvailable();
-            reflectHttpServer = new HttpServer(
-                    new ReflectResponder(TestReflection.class, 
httpTestReflection),
-                    reflectiveHttpPort);
-            reflectHttpServer.start();
-
-            final int reflectiveNettyPort = 
AvailablePortFinder.getNextAvailable();
-            reflectNettyServer = new NettyServer(
-                    new ReflectResponder(TestReflection.class, 
nettyTestReflection),
-                    new InetSocketAddress(reflectiveNettyPort));
-            reflectNettyServer.start();
-
-            final int specificHttpPort = 
AvailablePortFinder.getNextAvailable();
-            specificHttpServer = new HttpServer(
-                    new SpecificResponder(KeyValueProtocol.class, 
httpKeyValue),
-                    specificHttpPort);
-            specificHttpServer.start();
-
-            final int specificNettyPort = 
AvailablePortFinder.getNextAvailable();
-            specificNettyServer = new NettyServer(
-                    new SpecificResponder(KeyValueProtocol.class, 
nettyKeyValue),
-                    new InetSocketAddress(specificNettyPort));
-            specificNettyServer.start();
-
-            //----------- consumers ----------------------------------
-
-            final int reflectiveHttpTransceiverPort = 
AvailablePortFinder.getNextAvailable();
-            final int reflectiveNettyTransceiverPort = 
AvailablePortFinder.getNextAvailable();
-            final int specificHttpTransceiverPort = 
AvailablePortFinder.getNextAvailable();
-            final int specificNettyTransceiverPort = 
AvailablePortFinder.getNextAvailable();
-
-            return 
CollectionHelper.mapOf(AvroRpcResource.REFLECTIVE_HTTP_SERVER_PORT_PARAM, 
String.valueOf(reflectiveHttpPort),
-                    AvroRpcResource.REFLECTIVE_NETTY_SERVER_PORT_PARAM, 
String.valueOf(reflectiveNettyPort),
-                    AvroRpcResource.SPECIFIC_HTTP_SERVER_PORT_PARAM, 
String.valueOf(specificHttpPort),
-                    AvroRpcResource.SPECIFIC_NETTY_SERVER_PORT_PARAM, 
String.valueOf(specificNettyPort),
-                    AvroRpcResource.REFLECTIVE_HTTP_TRANSCEIVER_PORT_PARAM, 
String.valueOf(reflectiveHttpTransceiverPort),
-                    AvroRpcResource.REFLECTIVE_NETTY_TRANSCEIVER_PORT_PARAM, 
String.valueOf(reflectiveNettyTransceiverPort),
-                    AvroRpcResource.SPECIFIC_HTTP_TRANSCEIVER_PORT_PARAM, 
String.valueOf(specificHttpTransceiverPort),
-                    AvroRpcResource.SPECIFIC_NETTY_TRANSCEIVER_PORT_PARAM, 
String.valueOf(specificNettyTransceiverPort));
-        } catch (Exception e) {
-            throw new RuntimeException("Could not start avro-rpc server", e);
-        }
-    }
-
-    @Override
-    public void stop() {
-        if (reflectHttpServer != null) {
-            reflectHttpServer.close();
-        }
-        if (reflectNettyServer != null) {
-            reflectNettyServer.close();
-        }
-        if (specificHttpServer != null) {
-            specificHttpServer.close();
-        }
-        if (specificNettyServer != null) {
-            specificNettyServer.close();
-        }
-        AvailablePortFinder.releaseReservedPorts();
-    }
-
-    @Override
-    public void inject(Object testInstance) {
-        AvroRpcTestSupport testSupport = (AvroRpcTestSupport) testInstance;
-        if (testSupport.isHttp()) {
-            testSupport.setKeyValueProtocol(httpKeyValue);
-            testSupport.setTestReflection(httpTestReflection);
-        } else {
-            testSupport.setKeyValueProtocol(nettyKeyValue);
-            testSupport.setTestReflection(nettyTestReflection);
-        }
-    }
-}
diff --git 
a/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcTestSupport.java
 
b/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcTestSupport.java
deleted file mode 100644
index 24ffd76587..0000000000
--- 
a/integration-tests/avro-rpc/src/test/java/org/apache/camel/quarkus/component/avro/rpc/it/AvroRpcTestSupport.java
+++ /dev/null
@@ -1,209 +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.avro.rpc.it;
-
-import java.io.IOException;
-import java.net.InetSocketAddress;
-import java.net.URL;
-
-import io.quarkus.test.common.QuarkusTestResource;
-import io.restassured.RestAssured;
-import io.restassured.http.ContentType;
-import org.apache.avro.ipc.HttpTransceiver;
-import org.apache.avro.ipc.Requestor;
-import org.apache.avro.ipc.Transceiver;
-import org.apache.avro.ipc.netty.NettyTransceiver;
-import org.apache.avro.ipc.reflect.ReflectRequestor;
-import org.apache.avro.ipc.specific.SpecificRequestor;
-import org.apache.camel.quarkus.component.avro.rpc.it.reflection.TestPojo;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.reflection.TestReflection;
-import org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Key;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.KeyValueProtocol;
-import org.apache.camel.quarkus.component.avro.rpc.it.specific.generated.Value;
-import 
org.apache.camel.quarkus.component.avro.rpc.it.specific.impl.KeyValueProtocolImpl;
-import org.eclipse.microprofile.config.ConfigProvider;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.Test;
-
-import static org.hamcrest.Matchers.is;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-@QuarkusTestResource(AvroRpcTestResource.class)
-abstract class AvroRpcTestSupport {
-
-    private final static String NAME = "Sheldon";
-    public static final String NAME_FROM_KEY_VALUE = "{\"value\": \"" + NAME + 
"\"}";
-
-    private TestReflection testReflection;
-
-    private KeyValueProtocol keyValueProtocol;
-
-    private final ProtocolType protocol;
-
-    private Requestor reflectRequestor, specificRequestor;
-    private Transceiver reflectTransceiver, specificTransceiver;
-
-    @Test
-    public void testReflectionProducer() {
-        RestAssured.given()
-                .contentType(ContentType.TEXT)
-                .queryParam("protocol", protocol)
-                .body(NAME)
-                .post("/avro-rpc/reflectionProducerSet")
-                .then()
-                .statusCode(204);
-
-        assertEquals(NAME, testReflection.getName());
-
-        RestAssured.given()
-                .contentType(ContentType.TEXT)
-                .body(protocol)
-                .post("/avro-rpc/reflectionProducerGet")
-                .then()
-                .statusCode(200)
-                .body(is(NAME));
-    }
-
-    @Test
-    public void testSpecificProducer() throws InterruptedException {
-        Key key = Key.newBuilder().setKey("1").build();
-        Value value = Value.newBuilder().setValue(NAME).build();
-
-        RestAssured.given()
-                .contentType(ContentType.TEXT)
-                .queryParam("protocol", protocol)
-                .queryParam("key", key.getKey().toString())
-                .body(value.getValue().toString())
-                .post("/avro-rpc/specificProducerPut")
-                .then()
-                .statusCode(204);
-
-        assertEquals(value, ((KeyValueProtocolImpl) 
keyValueProtocol).getStore().get(key));
-
-        RestAssured.given()
-                .contentType(ContentType.TEXT)
-                .queryParam("protocol", protocol)
-                .body(key.getKey().toString())
-                .post("/avro-rpc/specificProducerGet")
-                .then()
-                .statusCode(200)
-                .body(is(NAME_FROM_KEY_VALUE));
-    }
-
-    @Test
-    public void testReflectionConsumer() throws Exception {
-        TestPojo testPojo = new TestPojo();
-        testPojo.setPojoName(NAME);
-        Object[] request = { testPojo };
-
-        initReflectRequestor();
-        reflectRequestor.request("setTestPojo", request);
-
-        RestAssured.given()
-                .contentType(ContentType.TEXT)
-                .body(protocol)
-                .post("/avro-rpc/reflectionConsumerGet")
-                .then()
-                .statusCode(200)
-                .body(is(NAME));
-    }
-
-    @Test
-    public void testSpecificConsumer() throws Exception {
-        Key key = Key.newBuilder().setKey("2").build();
-        Value value = Value.newBuilder().setValue(NAME).build();
-
-        initSpecificRequestor();
-        specificRequestor.request("put", new Object[] { key, value });
-
-        RestAssured.given()
-                .contentType(ContentType.TEXT)
-                .queryParam("protocol", protocol)
-                .body(key.getKey().toString())
-                .post("/avro-rpc/specificConsumerGet")
-                .then()
-                .statusCode(200)
-                .body(is(NAME_FROM_KEY_VALUE));
-    }
-
-    public AvroRpcTestSupport(ProtocolType protocol) {
-        this.protocol = protocol;
-    }
-
-    public void setTestReflection(TestReflection testReflection) {
-        this.testReflection = testReflection;
-    }
-
-    public void setKeyValueProtocol(KeyValueProtocol keyValueProtocol) {
-        this.keyValueProtocol = keyValueProtocol;
-    }
-
-    boolean isHttp() {
-        return ProtocolType.http == protocol;
-    }
-
-    void initReflectRequestor() throws IOException {
-        if (reflectRequestor == null) {
-            if (isHttp()) {
-                reflectTransceiver = new HttpTransceiver(
-                        new URL("http://localhost:";
-                                + 
ConfigProvider.getConfig().getValue(AvroRpcResource.REFLECTIVE_HTTP_TRANSCEIVER_PORT_PARAM,
-                                        String.class)));
-            } else {
-                reflectTransceiver = new NettyTransceiver(
-                        new InetSocketAddress("localhost",
-                                
ConfigProvider.getConfig().getValue(AvroRpcResource.REFLECTIVE_NETTY_TRANSCEIVER_PORT_PARAM,
-                                        Integer.class)));
-            }
-            reflectRequestor = new ReflectRequestor(TestReflection.class, 
reflectTransceiver);
-        }
-    }
-
-    void initSpecificRequestor() throws IOException {
-        if (specificRequestor == null) {
-            if (isHttp()) {
-                specificTransceiver = new HttpTransceiver(
-                        new URL("http://localhost:";
-                                + 
ConfigProvider.getConfig().getValue(AvroRpcResource.SPECIFIC_HTTP_TRANSCEIVER_PORT_PARAM,
-                                        String.class)));
-            } else {
-                specificTransceiver = new NettyTransceiver(
-                        new InetSocketAddress("localhost",
-                                
ConfigProvider.getConfig().getValue(AvroRpcResource.SPECIFIC_NETTY_TRANSCEIVER_PORT_PARAM,
-                                        Integer.class)));
-            }
-            specificRequestor = new SpecificRequestor(KeyValueProtocol.class, 
specificTransceiver);
-        }
-    }
-
-    @AfterEach
-    public void tearDown() throws Exception {
-
-        if (specificTransceiver != null) {
-            specificTransceiver.close();
-            specificTransceiver = null;
-            specificRequestor = null;
-        }
-
-        if (reflectTransceiver != null) {
-            reflectTransceiver.close();
-            reflectTransceiver = null;
-            reflectRequestor = null;
-        }
-    }
-
-}
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index fc2e388916..21411e9e03 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -57,7 +57,6 @@
         <module>arangodb</module>
         <module>as2</module>
         <module>avro</module>
-        <!--<module>avro-rpc</module>-->
         <module>aws2</module>
         <module>aws2-grouped</module>
         <module>azure-grouped</module>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 80ca36be15..1ce777f0df 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -224,16 +224,6 @@
                 <artifactId>camel-avro</artifactId>
                 <version>${camel.version}</version>
             </dependency>
-            <!--<dependency>
-                <groupId>org.apache.camel</groupId>
-                <artifactId>camel-avro-rpc</artifactId>
-                <version>${camel.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.camel</groupId>
-                <artifactId>camel-avro-rpc-spi</artifactId>
-                <version>${camel.version}</version>
-            </dependency>-->
             <dependency>
                 <groupId>org.apache.camel</groupId>
                 <artifactId>camel-aws-bedrock</artifactId>
@@ -3655,16 +3645,6 @@
                 <artifactId>camel-quarkus-avro-deployment</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
-            <!--<dependency>
-                <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-avro-rpc</artifactId>
-                <version>${camel-quarkus.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-avro-rpc-deployment</artifactId>
-                <version>${camel-quarkus.version}</version>
-            </dependency>-->
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-aws-bedrock</artifactId>

Reply via email to