This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch exchange-factory in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/exchange-factory by this push: new 1907d7e CAMEL-16222: PooledExchangeFactory experiment 1907d7e is described below commit 1907d7e03da2b2e11a99c1a217d6318e42879a9a Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Wed Feb 24 09:06:10 2021 +0100 CAMEL-16222: PooledExchangeFactory experiment --- .../camel/component/salesforce/SalesforceConsumer.java | 3 ++- .../component/salesforce/SalesforceConsumerTest.java | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceConsumer.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceConsumer.java index 5299505..5f60fb1 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceConsumer.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceConsumer.java @@ -142,7 +142,7 @@ public class SalesforceConsumer extends DefaultConsumer { LOG.debug("Received event {} on channel {}", channel.getId(), channel.getChannelId()); } - final Exchange exchange = endpoint.createExchange(); + final Exchange exchange = createExchange(false); final org.apache.camel.Message in = exchange.getIn(); switch (messageKind) { @@ -179,6 +179,7 @@ public class SalesforceConsumer extends DefaultConsumer { final String msg = String.format("Unhandled exception: %s", ex.getMessage()); handleException(msg, new SalesforceException(msg, ex)); } + releaseExchange(exchange, false); } } diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceConsumerTest.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceConsumerTest.java index 29c8e60..603e5db 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceConsumerTest.java +++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceConsumerTest.java @@ -25,10 +25,12 @@ import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.camel.AsyncProcessor; import org.apache.camel.CamelContext; -import org.apache.camel.Exchange; +import org.apache.camel.ExtendedCamelContext; +import org.apache.camel.ExtendedExchange; import org.apache.camel.component.salesforce.api.dto.PlatformEvent; import org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper; import org.apache.camel.spi.ClassResolver; +import org.apache.camel.spi.ExchangeFactory; import org.cometd.bayeux.Message; import org.cometd.bayeux.client.ClientSessionChannel; import org.cometd.common.HashMapMessage; @@ -82,9 +84,11 @@ public class SalesforceConsumerTest { SalesforceEndpointConfig configuration = new SalesforceEndpointConfig(); SalesforceEndpoint endpoint = mock(SalesforceEndpoint.class); - Exchange exchange = mock(Exchange.class); + ExtendedExchange exchange = mock(ExtendedExchange.class); org.apache.camel.Message in = mock(org.apache.camel.Message.class); AsyncProcessor processor = mock(AsyncProcessor.class); + ExtendedCamelContext context = mock(ExtendedCamelContext.class); + ExchangeFactory exchangeFactory = mock(ExchangeFactory.class); Message pushTopicMessage; @Mock @@ -99,7 +103,12 @@ public class SalesforceConsumerTest { @BeforeEach public void setupMocks() { when(endpoint.getConfiguration()).thenReturn(configuration); - when(endpoint.createExchange()).thenReturn(exchange); + when(endpoint.getCamelContext()).thenReturn(context); + when(context.adapt(ExtendedCamelContext.class)).thenReturn(context); + when(context.getExchangeFactory()).thenReturn(exchangeFactory); + when(exchangeFactory.newExchangeFactory(any())).thenReturn(exchangeFactory); + when(exchangeFactory.create(endpoint, false)).thenReturn(exchange); + when(exchange.adapt(ExtendedExchange.class)).thenReturn(exchange); when(exchange.getIn()).thenReturn(in); final SalesforceComponent component = mock(SalesforceComponent.class); when(endpoint.getComponent()).thenReturn(component);