You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pp...@apache.org on 2023/05/01 07:27:52 UTC

[camel-quarkus] 09/12: simple("${exchange.getMessage().getBody()}") causes a MethodNotFoundException in native mode #4860

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 <pp...@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"));
     }
 
 }