This is an automated email from the ASF dual-hosted git repository. ppalaga pushed a commit to branch 2.13.x in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 3172d79903c43d67a5f9459c549a2f64f43ded56 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 | 4 ++++ .../org/apache/camel/quarkus/core/languages/it/SimpleRoutes.java | 3 +++ .../java/org/apache/camel/quarkus/core/languages/it/SimpleTest.java | 6 +++--- 3 files changed, 10 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 f098b261d3..ef0f47b031 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 @@ -137,6 +137,10 @@ public class CamelNativeImageProcessor { .map(ai -> ai.target().asMethod()) .forEach(mi -> reflectiveMethod.produce(new ReflectiveMethodBuildItem(mi))); + reflectiveClass.produce( + new ReflectiveClassBuildItem(true, false, + "org.apache.camel.support.AbstractExchange", + org.apache.camel.support.MessageSupport.class.getName())); } @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")); } }