This is an automated email from the ASF dual-hosted git repository. nfilotto pushed a commit to branch essobedo/542/restore-camel-vm in repository https://gitbox.apache.org/repos/asf/camel-karaf.git
commit c04bb60100e3a70e2b052aefb5c118c3c1d4418a Author: Nicolas Filotto <[email protected]> AuthorDate: Wed Oct 30 10:27:14 2024 +0100 Ref #542: Restore camel-vm old behavior --- .../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()); + } + } }
