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