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;