This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 26cb08a  CAMEL-16279: camel-core - Optimize core to reduce object 
allocations by pooloing reusable tasks in the routing engine.
26cb08a is described below

commit 26cb08a0014122069d1d1b163e9c8a68c384ee3f
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Mar 10 14:11:53 2021 +0100

    CAMEL-16279: camel-core - Optimize core to reduce object allocations by 
pooloing reusable tasks in the routing engine.
---
 .../BackpressurePublisherRoutePolicyTest.java      |  3 +--
 .../reactive/streams/BackpressureStrategyTest.java |  3 +--
 .../streams/BackpressureSubscriberTest.java        |  3 +--
 ...reamsTestSupport.java => BaseReactiveTest.java} | 24 +++++++++-------------
 .../reactive/streams/BasicPublisherTest.java       |  3 +--
 .../reactive/streams/BasicSubscriberTest.java      |  3 +--
 .../component/reactive/streams/BeanCallTest.java   |  3 +--
 .../reactive/streams/ConcurrentConsumersTest.java  |  3 +--
 .../component/reactive/streams/EventTypeTest.java  |  3 +--
 .../reactive/streams/ExchangeRequestTest.java      |  3 +--
 .../streams/PublisherTypeConversionTest.java       |  3 +--
 .../reactive/streams/ReactiveStreamsJMXTest.java   |  3 +--
 .../reactive/streams/RequestRefillTest.java        |  3 +--
 .../platforms/AbstractPlatformTestSupport.java     |  4 ++--
 .../support/ReactiveStreamsTestSupport.java        |  4 ++--
 15 files changed, 26 insertions(+), 42 deletions(-)

diff --git 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BackpressurePublisherRoutePolicyTest.java
 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BackpressurePublisherRoutePolicyTest.java
index 9cffe9c..c3c6030 100644
--- 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BackpressurePublisherRoutePolicyTest.java
+++ 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BackpressurePublisherRoutePolicyTest.java
@@ -26,7 +26,6 @@ import org.apache.camel.StatefulService;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.reactive.streams.api.CamelReactiveStreams;
 import org.apache.camel.component.reactive.streams.support.TestSubscriber;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.apache.camel.throttling.ThrottlingInflightRoutePolicy;
 import org.junit.jupiter.api.Test;
 import org.reactivestreams.Publisher;
@@ -34,7 +33,7 @@ import org.reactivestreams.Publisher;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class BackpressurePublisherRoutePolicyTest extends CamelTestSupport {
+public class BackpressurePublisherRoutePolicyTest extends BaseReactiveTest {
 
     @Test
     public void testThatBackpressureCausesTemporaryRouteStop() throws 
Exception {
diff --git 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BackpressureStrategyTest.java
 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BackpressureStrategyTest.java
index e1f2aae..4006569 100644
--- 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BackpressureStrategyTest.java
+++ 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BackpressureStrategyTest.java
@@ -25,13 +25,12 @@ import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.reactive.streams.api.CamelReactiveStreams;
 import org.apache.camel.component.reactive.streams.support.TestSubscriber;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class BackpressureStrategyTest extends CamelTestSupport {
+public class BackpressureStrategyTest extends BaseReactiveTest {
 
     @Test
     public void testBackpressureBufferStrategy() throws Exception {
diff --git 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BackpressureSubscriberTest.java
 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BackpressureSubscriberTest.java
index af7fef2..d3bff07 100644
--- 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BackpressureSubscriberTest.java
+++ 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BackpressureSubscriberTest.java
@@ -23,7 +23,6 @@ import org.apache.camel.RoutesBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.component.reactive.streams.api.CamelReactiveStreams;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -32,7 +31,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  * Test backpressure from the consumer side.
  */
 @SuppressWarnings("unused")
-public class BackpressureSubscriberTest extends CamelTestSupport {
+public class BackpressureSubscriberTest extends BaseReactiveTest {
 
     @Test
     public void testBackpressure() throws Exception {
diff --git 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/support/ReactiveStreamsTestSupport.java
 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BaseReactiveTest.java
similarity index 61%
copy from 
components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/support/ReactiveStreamsTestSupport.java
copy to 
components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BaseReactiveTest.java
index 0f69a3d..ef0d35d 100644
--- 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/support/ReactiveStreamsTestSupport.java
+++ 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BaseReactiveTest.java
@@ -14,25 +14,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.component.reactive.streams.support;
+package org.apache.camel.component.reactive.streams;
 
-import org.apache.camel.component.reactive.streams.api.CamelReactiveStreams;
-import 
org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService;
+import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
+import org.apache.camel.impl.engine.PrototypeExchangeFactory;
 import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.BeforeEach;
 
-public class ReactiveStreamsTestSupport extends CamelTestSupport {
-
-    protected CamelReactiveStreamsService camel;
-
-    @BeforeEach
-    public void initReactiveStreamService() {
-        this.camel = CamelReactiveStreams.get(context);
-    }
+public abstract class BaseReactiveTest extends CamelTestSupport {
 
     @Override
-    public boolean isUseRouteBuilder() {
-        return false;
+    protected CamelContext createCamelContext() throws Exception {
+        CamelContext context = super.createCamelContext();
+        // must run in prototype scope
+        context.adapt(ExtendedCamelContext.class).setExchangeFactory(new 
PrototypeExchangeFactory());
+        return context;
     }
 
 }
diff --git 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BasicPublisherTest.java
 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BasicPublisherTest.java
index 63d9dbc..f258342 100644
--- 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BasicPublisherTest.java
+++ 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BasicPublisherTest.java
@@ -27,14 +27,13 @@ import org.apache.camel.Exchange;
 import org.apache.camel.FailedToStartRouteException;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.reactive.streams.api.CamelReactiveStreams;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class BasicPublisherTest extends CamelTestSupport {
+public class BasicPublisherTest extends BaseReactiveTest {
 
     @Test
     public void testWorking() throws Exception {
diff --git 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BasicSubscriberTest.java
 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BasicSubscriberTest.java
index f3aa0a5..a8f7ec7 100644
--- 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BasicSubscriberTest.java
+++ 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BasicSubscriberTest.java
@@ -21,14 +21,13 @@ import org.apache.camel.RoutesBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.component.reactive.streams.api.CamelReactiveStreams;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.reactivestreams.Publisher;
 import org.reactivestreams.Subscriber;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class BasicSubscriberTest extends CamelTestSupport {
+public class BasicSubscriberTest extends BaseReactiveTest {
 
     @Test
     public void testWorking() throws Exception {
diff --git 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BeanCallTest.java
 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BeanCallTest.java
index 057469a..34a4fa3 100644
--- 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BeanCallTest.java
+++ 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/BeanCallTest.java
@@ -26,7 +26,6 @@ import org.apache.camel.Header;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.component.reactive.streams.util.UnwrapStreamProcessor;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.reactivestreams.Publisher;
 
@@ -35,7 +34,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 @SuppressWarnings("unused")
-public class BeanCallTest extends CamelTestSupport {
+public class BeanCallTest extends BaseReactiveTest {
 
     @Test
     public void beanCallTest() throws Exception {
diff --git 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/ConcurrentConsumersTest.java
 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/ConcurrentConsumersTest.java
index a1d0ded..ec65a29 100644
--- 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/ConcurrentConsumersTest.java
+++ 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/ConcurrentConsumersTest.java
@@ -27,7 +27,6 @@ import org.apache.camel.RoutesBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.component.reactive.streams.api.CamelReactiveStreams;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -35,7 +34,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 /**
  * Test the behaviour of the consumer side when using a different number of 
consumer threads.
  */
-public class ConcurrentConsumersTest extends CamelTestSupport {
+public class ConcurrentConsumersTest extends BaseReactiveTest {
 
     @Test
     public void testSingleConsumer() throws Exception {
diff --git 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/EventTypeTest.java
 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/EventTypeTest.java
index fc8f01c..82d5d94 100644
--- 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/EventTypeTest.java
+++ 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/EventTypeTest.java
@@ -21,13 +21,12 @@ import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.component.reactive.streams.api.CamelReactiveStreams;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.reactivestreams.Subscriber;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class EventTypeTest extends CamelTestSupport {
+public class EventTypeTest extends BaseReactiveTest {
 
     @Test
     public void testOnCompleteHeaderForwarded() throws Exception {
diff --git 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/ExchangeRequestTest.java
 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/ExchangeRequestTest.java
index 5e6f17a..8fc2990 100644
--- 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/ExchangeRequestTest.java
+++ 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/ExchangeRequestTest.java
@@ -23,14 +23,13 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.reactive.streams.api.CamelReactiveStreams;
 import 
org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService;
 import org.apache.camel.support.DefaultExchange;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.reactivestreams.Publisher;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-public class ExchangeRequestTest extends CamelTestSupport {
+public class ExchangeRequestTest extends BaseReactiveTest {
 
     @Test
     public void testStreamRequest() throws Exception {
diff --git 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/PublisherTypeConversionTest.java
 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/PublisherTypeConversionTest.java
index f57b050..eadd5a6 100644
--- 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/PublisherTypeConversionTest.java
+++ 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/PublisherTypeConversionTest.java
@@ -26,12 +26,11 @@ import org.apache.camel.Exchange;
 import org.apache.camel.RoutesBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.reactive.streams.api.CamelReactiveStreams;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class PublisherTypeConversionTest extends CamelTestSupport {
+public class PublisherTypeConversionTest extends BaseReactiveTest {
 
     @Test
     public void testConversion() throws Exception {
diff --git 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/ReactiveStreamsJMXTest.java
 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/ReactiveStreamsJMXTest.java
index 635817f..e351b82 100644
--- 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/ReactiveStreamsJMXTest.java
+++ 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/ReactiveStreamsJMXTest.java
@@ -34,7 +34,6 @@ import org.apache.camel.RoutesBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.reactive.streams.api.CamelReactiveStreams;
 import 
org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import reactor.core.publisher.Flux;
 
@@ -45,7 +44,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 /**
  * Test exposed services on JMX.
  */
-public class ReactiveStreamsJMXTest extends CamelTestSupport {
+public class ReactiveStreamsJMXTest extends BaseReactiveTest {
 
     @Test
     public void testJmxExposedService() throws Exception {
diff --git 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/RequestRefillTest.java
 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/RequestRefillTest.java
index 542f8db..440ffa3 100644
--- 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/RequestRefillTest.java
+++ 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/RequestRefillTest.java
@@ -25,7 +25,6 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.component.reactive.streams.api.CamelReactiveStreams;
 import 
org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.reactivestreams.Publisher;
 import reactor.core.publisher.Flux;
@@ -36,7 +35,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 /**
  * Test the number of refill requests that are sent to a published from a 
Camel consumer.
  */
-public class RequestRefillTest extends CamelTestSupport {
+public class RequestRefillTest extends BaseReactiveTest {
 
     @Test
     public void testUnboundedRequests() throws Exception {
diff --git 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/platforms/AbstractPlatformTestSupport.java
 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/platforms/AbstractPlatformTestSupport.java
index 18fa8e8..50dc488 100644
--- 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/platforms/AbstractPlatformTestSupport.java
+++ 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/platforms/AbstractPlatformTestSupport.java
@@ -25,9 +25,9 @@ import java.util.function.Consumer;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.component.reactive.streams.BaseReactiveTest;
 import org.apache.camel.component.reactive.streams.api.CamelReactiveStreams;
 import 
org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.reactivestreams.Publisher;
 import org.reactivestreams.Subscriber;
@@ -38,7 +38,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 /**
  *
  */
-public abstract class AbstractPlatformTestSupport extends CamelTestSupport {
+public abstract class AbstractPlatformTestSupport extends BaseReactiveTest {
 
     @Test
     public void testPublisher() throws Exception {
diff --git 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/support/ReactiveStreamsTestSupport.java
 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/support/ReactiveStreamsTestSupport.java
index 0f69a3d..85f773e 100644
--- 
a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/support/ReactiveStreamsTestSupport.java
+++ 
b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/support/ReactiveStreamsTestSupport.java
@@ -16,12 +16,12 @@
  */
 package org.apache.camel.component.reactive.streams.support;
 
+import org.apache.camel.component.reactive.streams.BaseReactiveTest;
 import org.apache.camel.component.reactive.streams.api.CamelReactiveStreams;
 import 
org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.BeforeEach;
 
-public class ReactiveStreamsTestSupport extends CamelTestSupport {
+public class ReactiveStreamsTestSupport extends BaseReactiveTest {
 
     protected CamelReactiveStreamsService camel;
 

Reply via email to