Reproducer for #1459
diff --git a/integration-tests/bean/src/main/java/org/apache/camel/quarkus/component/bean/CamelResource.java b/integration-tests/bean/src/main/java/org/apache/camel/quarkus/component/bean/CamelResource.java
index 7c52d6d..3c5ce29 100644
--- a/integration-tests/bean/src/main/java/org/apache/camel/quarkus/component/bean/CamelResource.java
+++ b/integration-tests/bean/src/main/java/org/apache/camel/quarkus/component/bean/CamelResource.java
@@ -71,6 +71,14 @@
return template.requestBody("direct:handler", statement, String.class);
}
+ @Path("/handlerOnProxy")
+ @POST
+ @Consumes(MediaType.TEXT_PLAIN)
+ @Produces(MediaType.TEXT_PLAIN)
+ public String handlerOnProxy(String statement) {
+ return template.requestBody("direct:handlerOnProxy", statement, String.class);
+ }
+
@Path("/increment")
@GET
@Produces(MediaType.TEXT_PLAIN)
diff --git a/integration-tests/bean/src/main/java/org/apache/camel/quarkus/component/bean/CamelRoute.java b/integration-tests/bean/src/main/java/org/apache/camel/quarkus/component/bean/CamelRoute.java
index acef305..70cf606 100644
--- a/integration-tests/bean/src/main/java/org/apache/camel/quarkus/component/bean/CamelRoute.java
+++ b/integration-tests/bean/src/main/java/org/apache/camel/quarkus/component/bean/CamelRoute.java
@@ -76,6 +76,10 @@
.to("bean:withHandler")
.to("log:named");
+ from("direct:handlerOnProxy")
+ .to("bean:withHandlerOnProxy")
+ .to("log:named");
+
}
@SuppressWarnings("unchecked")
diff --git a/integration-tests/bean/src/main/java/org/apache/camel/quarkus/component/bean/WithHandlerBean.java b/integration-tests/bean/src/main/java/org/apache/camel/quarkus/component/bean/WithHandlerBean.java
index 806617c..1a38b4d 100644
--- a/integration-tests/bean/src/main/java/org/apache/camel/quarkus/component/bean/WithHandlerBean.java
+++ b/integration-tests/bean/src/main/java/org/apache/camel/quarkus/component/bean/WithHandlerBean.java
@@ -16,10 +16,15 @@
*/
package org.apache.camel.quarkus.component.bean;
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Named;
+
import io.quarkus.runtime.annotations.RegisterForReflection;
import org.apache.camel.Exchange;
import org.apache.camel.Handler;
+@ApplicationScoped
+@Named("withHandlerOnProxy")
@RegisterForReflection
public class WithHandlerBean {
/**
diff --git a/integration-tests/bean/src/test/java/org/apache/camel/quarkus/component/bean/BeanTest.java b/integration-tests/bean/src/test/java/org/apache/camel/quarkus/component/bean/BeanTest.java
index 42a50ae..eaaf287 100644
--- a/integration-tests/bean/src/test/java/org/apache/camel/quarkus/component/bean/BeanTest.java
+++ b/integration-tests/bean/src/test/java/org/apache/camel/quarkus/component/bean/BeanTest.java
@@ -69,6 +69,16 @@
}
@Test
+ public void handlerWithProxy() {
+ RestAssured.given()
+ .contentType(ContentType.TEXT)
+ .body("Kermit")
+ .post("/bean/handlerOnProxy")
+ .then()
+ .body(equalTo("Hello Kermit from the WithHandlerBean"));
+ }
+
+ @Test
public void inject() {
/* Ensure that @Inject works */