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