This is an automated email from the ASF dual-hosted git repository.
jbonofre pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karaf.git
The following commit(s) were added to refs/heads/main by this push:
new 442160c72 Ref #542: Restore camel-vm old behavior (#543)
442160c72 is described below
commit 442160c72d3c84e9bb197b519a332f96abbbef46
Author: Nicolas Filotto <[email protected]>
AuthorDate: Wed Oct 30 10:33:28 2024 +0100
Ref #542: Restore camel-vm old behavior (#543)
---
.../camel/karaf/component/directvm/direct-vm.json | 2 +-
.../org/apache/camel/karaf/component/vm/vm.json | 2 +-
.../camel/karaf/component/vm/VmConsumer.java | 32 +++++++++++++++++-----
3 files changed, 27 insertions(+), 9 deletions(-)
diff --git
a/components/camel-directvm/src/generated/resources/META-INF/org/apache/camel/karaf/component/directvm/direct-vm.json
b/components/camel-directvm/src/generated/resources/META-INF/org/apache/camel/karaf/component/directvm/direct-vm.json
index ec22c559d..7bc7c2aad 100644
---
a/components/camel-directvm/src/generated/resources/META-INF/org/apache/camel/karaf/component/directvm/direct-vm.json
+++
b/components/camel-directvm/src/generated/resources/META-INF/org/apache/camel/karaf/component/directvm/direct-vm.json
@@ -11,7 +11,7 @@
"supportLevel": "Stable",
"groupId": "org.apache.camel.karaf",
"artifactId": "camel-directvm",
- "version": "4.8.0-SNAPSHOT",
+ "version": "4.8.1-SNAPSHOT",
"scheme": "direct-vm",
"extendsScheme": "",
"syntax": "direct-vm:name",
diff --git
a/components/camel-vm/src/generated/resources/META-INF/org/apache/camel/karaf/component/vm/vm.json
b/components/camel-vm/src/generated/resources/META-INF/org/apache/camel/karaf/component/vm/vm.json
index 37cce05fb..909e8e672 100644
---
a/components/camel-vm/src/generated/resources/META-INF/org/apache/camel/karaf/component/vm/vm.json
+++
b/components/camel-vm/src/generated/resources/META-INF/org/apache/camel/karaf/component/vm/vm.json
@@ -11,7 +11,7 @@
"supportLevel": "Stable",
"groupId": "org.apache.camel.karaf",
"artifactId": "camel-vm",
- "version": "4.8.0-SNAPSHOT",
+ "version": "4.8.1-SNAPSHOT",
"scheme": "vm",
"extendsScheme": "",
"syntax": "vm:name",
diff --git
a/components/camel-vm/src/main/java/org/apache/camel/karaf/component/vm/VmConsumer.java
b/components/camel-vm/src/main/java/org/apache/camel/karaf/component/vm/VmConsumer.java
index 8efbb645f..1e1d5faf1 100644
---
a/components/camel-vm/src/main/java/org/apache/camel/karaf/component/vm/VmConsumer.java
+++
b/components/camel-vm/src/main/java/org/apache/camel/karaf/component/vm/VmConsumer.java
@@ -16,14 +16,13 @@
*/
package org.apache.camel.karaf.component.vm;
-import org.apache.camel.*;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.Exchange;
+import org.apache.camel.ExchangeExtension;
+import org.apache.camel.Processor;
import org.apache.camel.component.seda.SedaConsumer;
-import org.apache.camel.support.DefaultExchange;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CopyOnWriteArrayList;
+import org.apache.camel.support.ExchangeHelper;
public class VmConsumer extends SedaConsumer implements CamelContextAware {
@@ -43,4 +42,23 @@ public class VmConsumer extends SedaConsumer implements
CamelContextAware {
this.camelContext = camelContext;
}
+ @Override
+ protected Exchange prepareExchange(Exchange exchange) {
+ Exchange result = ExchangeHelper.copyExchangeWithProperties(exchange,
camelContext);
+ ExchangeExtension exchangeExtension = result.getExchangeExtension();
+ exchangeExtension.setFromEndpoint(getEndpoint());
+ exchangeExtension.setFromRouteId(getRouteId());
+ return result;
+ }
+
+ @Override
+ protected void onProcessingDone(Exchange original, Exchange prepared) {
+ // copy result back
+ ExchangeHelper.copyResults(original, prepared);
+ // log exception if an exception occurred and was not handled
+ if (original.getException() != null) {
+ getExceptionHandler().handleException("Error processing exchange",
original,
+ original.getException());
+ }
+ }
}