This is an automated email from the ASF dual-hosted git repository. ppalaga 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 5ef701cef8 simple("${exchange.getMessage().getBody()}") causes a MethodNotFoundException in native mode #4860 5ef701cef8 is described below commit 5ef701cef8a8fb8007193331590f934e7feea892 Author: Peter Palaga <ppal...@redhat.com> AuthorDate: Sat Apr 29 14:57:31 2023 +0200 simple("${exchange.getMessage().getBody()}") causes a MethodNotFoundException in native mode #4860 --- .../camel/quarkus/core/deployment/CamelNativeImageProcessor.java | 5 +++++ .../org/apache/camel/quarkus/core/languages/it/SimpleRoutes.java | 3 +++ .../java/org/apache/camel/quarkus/core/languages/it/SimpleTest.java | 6 +++--- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelNativeImageProcessor.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelNativeImageProcessor.java index 27a466dbfd..6b3cdf78d1 100644 --- a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelNativeImageProcessor.java +++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelNativeImageProcessor.java @@ -139,6 +139,11 @@ public class CamelNativeImageProcessor { .map(ai -> ai.target().asMethod()) .forEach(mi -> reflectiveMethod.produce(new ReflectiveMethodBuildItem(mi))); + reflectiveClass.produce( + ReflectiveClassBuildItem.builder( + "org.apache.camel.support.AbstractExchange", + org.apache.camel.support.MessageSupport.class.getName()) + .methods().build()); } @BuildStep diff --git a/integration-test-groups/foundation/core-languages/src/main/java/org/apache/camel/quarkus/core/languages/it/SimpleRoutes.java b/integration-test-groups/foundation/core-languages/src/main/java/org/apache/camel/quarkus/core/languages/it/SimpleRoutes.java index 80675bf479..7547b38118 100644 --- a/integration-test-groups/foundation/core-languages/src/main/java/org/apache/camel/quarkus/core/languages/it/SimpleRoutes.java +++ b/integration-test-groups/foundation/core-languages/src/main/java/org/apache/camel/quarkus/core/languages/it/SimpleRoutes.java @@ -36,6 +36,9 @@ public class SimpleRoutes extends RouteBuilder { from("direct:languageSimple") .transform().language("simple", "Hello ${body} from language().simple()"); + from("direct:simpleExchangeMethods") + .transform().simple("exchange.getMessage().getBody() evals to ${exchange.getMessage().getBody()}"); + } } diff --git a/integration-test-groups/foundation/core-languages/src/test/java/org/apache/camel/quarkus/core/languages/it/SimpleTest.java b/integration-test-groups/foundation/core-languages/src/test/java/org/apache/camel/quarkus/core/languages/it/SimpleTest.java index 5290ce7f40..c5e96e9ee3 100644 --- a/integration-test-groups/foundation/core-languages/src/test/java/org/apache/camel/quarkus/core/languages/it/SimpleTest.java +++ b/integration-test-groups/foundation/core-languages/src/test/java/org/apache/camel/quarkus/core/languages/it/SimpleTest.java @@ -69,10 +69,10 @@ public class SimpleTest { } @Test - public void languageSimple() { - given().body("Frankenstein").when().post("/core-languages/route/languageSimple/String").then() + public void simpleExchangeMethods() { + given().body("Joe").when().post("/core-languages/route/simpleExchangeMethods/String").then() .statusCode(200) - .body(is("Hello Frankenstein from language().simple()")); + .body(is("exchange.getMessage().getBody() evals to Joe")); } }