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 <[email protected]>
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);