You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/12/28 10:36:49 UTC

[camel] branch camel-3.20.x updated (f09e2c46706 -> 166549b0104)

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

davsclaus pushed a change to branch camel-3.20.x
in repository https://gitbox.apache.org/repos/asf/camel.git


    from f09e2c46706 Update to groovy 3.0.14
     new 104cf42bba1 CAMEL-18845: camel-core - Performance overhead for async processing event emitting that is not needed usually
     new 166549b0104 CAMEL-18845: camel-core - Performance overhead for async processing event emitting that is not needed usually

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../camel/cdi/test/CamelEventNotifierTest.java     |  8 +-
 .../main/java/org/apache/camel/tracing/Tracer.java |  9 +++
 .../main/java/org/apache/camel/spi/CamelEvent.java |  5 ++
 .../java/org/apache/camel/spi/EventFactory.java    |  3 +
 .../java/org/apache/camel/spi/EventNotifier.java   |  7 +-
 .../camel/impl/engine/CamelInternalProcessor.java  |  2 +-
 .../event/ExchangeAsyncProcessingStartedEvent.java |  3 +
 .../org/apache/camel/processor/SendProcessor.java  |  2 +-
 .../camel/impl/event/EventNotifierEventsTest.java  | 65 +++++++--------
 .../event/MultipleEventNotifierEventsTest.java     | 92 ++++++++++------------
 .../camel/processor/interceptor/DebugTest.java     |  2 +-
 .../org/apache/camel/main/BaseMainSupport.java     |  1 +
 .../camel/management/AddEventNotifierTest.java     |  4 +-
 .../JmxNotificationEventNotifierTest.java          |  4 +-
 .../camel/management/PublishEventNotifierTest.java |  4 +-
 .../camel/management/RemoveEventNotifierTest.java  |  4 +-
 .../camel/support/SimpleEventNotifierSupport.java  |  2 +-
 17 files changed, 107 insertions(+), 110 deletions(-)


[camel] 01/02: CAMEL-18845: camel-core - Performance overhead for async processing event emitting that is not needed usually

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 104cf42bba1d4bc325b0aaa7a9af031ea7603daa
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Dec 28 11:14:06 2022 +0100

    CAMEL-18845: camel-core - Performance overhead for async processing event emitting that is not needed usually
---
 .../src/main/java/org/apache/camel/tracing/Tracer.java           | 9 +++++++++
 .../src/main/java/org/apache/camel/spi/EventNotifier.java        | 7 ++-----
 .../org/apache/camel/impl/engine/CamelInternalProcessor.java     | 2 +-
 .../src/main/java/org/apache/camel/processor/SendProcessor.java  | 2 +-
 .../org/apache/camel/support/SimpleEventNotifierSupport.java     | 2 +-
 5 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/components/camel-tracing/src/main/java/org/apache/camel/tracing/Tracer.java b/components/camel-tracing/src/main/java/org/apache/camel/tracing/Tracer.java
index c7ef133c491..71eab56c8d8 100644
--- a/components/camel-tracing/src/main/java/org/apache/camel/tracing/Tracer.java
+++ b/components/camel-tracing/src/main/java/org/apache/camel/tracing/Tracer.java
@@ -232,6 +232,15 @@ public abstract class Tracer extends ServiceSupport implements RoutePolicyFactor
 
     private final class TracingEventNotifier extends EventNotifierSupport {
 
+        public TracingEventNotifier() {
+            // ignore these
+            setIgnoreCamelContextEvents(true);
+            setIgnoreCamelContextInitEvents(true);
+            setIgnoreRouteEvents(true);
+            // we need also async processing started events
+            setIgnoreExchangeAsyncProcessingStartedEvents(false);
+        }
+
         @Override
         public void notify(CamelEvent event) throws Exception {
             try {
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/EventNotifier.java b/core/camel-api/src/main/java/org/apache/camel/spi/EventNotifier.java
index 9d1f8a688ec..08527e2b503 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/EventNotifier.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/EventNotifier.java
@@ -96,10 +96,7 @@ public interface EventNotifier {
 
     void setIgnoreStepEvents(boolean ignoreStepEvents);
 
-    default void setIgnoreExchangeAsyncProcessingStartedEvents(boolean ignoreExchangeAsyncProcessingStartedEvents) {
-    }
+    void setIgnoreExchangeAsyncProcessingStartedEvents(boolean ignoreExchangeAsyncProcessingStartedEvents);
 
-    default boolean isIgnoreExchangeAsyncProcessingStartedEvents() {
-        return false;
-    }
+    boolean isIgnoreExchangeAsyncProcessingStartedEvents();
 }
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
index d16d1fab5d4..e05b6ab8d22 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
@@ -391,7 +391,7 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor implements In
             }
             boolean sync = processor.process(exchange, async);
             if (!sync) {
-                EventHelper.notifyExchangeAsyncProcessingStartedEvent(exchange.getContext(), exchange);
+                EventHelper.notifyExchangeAsyncProcessingStartedEvent(camelContext, exchange);
             }
 
             // ----------------------------------------------------------
diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendProcessor.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendProcessor.java
index f4138b74b30..6782c7f3170 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendProcessor.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendProcessor.java
@@ -171,7 +171,7 @@ public class SendProcessor extends AsyncProcessorSupport implements Traceable, E
                 LOG.debug(">>>> {} {}", destination, exchange);
                 boolean sync = producer.process(exchange, ac);
                 if (!sync) {
-                    EventHelper.notifyExchangeAsyncProcessingStartedEvent(exchange.getContext(), exchange);
+                    EventHelper.notifyExchangeAsyncProcessingStartedEvent(camelContext, exchange);
                 }
                 return sync;
             } catch (Throwable throwable) {
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/SimpleEventNotifierSupport.java b/core/camel-support/src/main/java/org/apache/camel/support/SimpleEventNotifierSupport.java
index 16a34d9d091..fa3c71f4be4 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/SimpleEventNotifierSupport.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/SimpleEventNotifierSupport.java
@@ -38,7 +38,7 @@ public abstract class SimpleEventNotifierSupport extends ServiceSupport implemen
     boolean ignoreExchangeEvents;
     boolean ignoreExchangeCreatedEvent;
     boolean ignoreExchangeCompletedEvent;
-    boolean ignoreExchangeAsyncProcessingStartedEvents;
+    boolean ignoreExchangeAsyncProcessingStartedEvents = true; // special need for camel-tracing/camel-opentelemtry
     boolean ignoreExchangeFailedEvents;
     boolean ignoreExchangeRedeliveryEvents;
     boolean ignoreExchangeSendingEvents;


[camel] 02/02: CAMEL-18845: camel-core - Performance overhead for async processing event emitting that is not needed usually

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 166549b0104360498f75901a0203d2c1ac3b81c2
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Dec 28 11:35:59 2022 +0100

    CAMEL-18845: camel-core - Performance overhead for async processing event emitting that is not needed usually
---
 .../camel/cdi/test/CamelEventNotifierTest.java     |  8 +-
 .../main/java/org/apache/camel/spi/CamelEvent.java |  5 ++
 .../java/org/apache/camel/spi/EventFactory.java    |  3 +
 .../event/ExchangeAsyncProcessingStartedEvent.java |  3 +
 .../camel/impl/event/EventNotifierEventsTest.java  | 65 +++++++--------
 .../event/MultipleEventNotifierEventsTest.java     | 92 ++++++++++------------
 .../camel/processor/interceptor/DebugTest.java     |  2 +-
 .../org/apache/camel/main/BaseMainSupport.java     |  1 +
 .../camel/management/AddEventNotifierTest.java     |  4 +-
 .../JmxNotificationEventNotifierTest.java          |  4 +-
 .../camel/management/PublishEventNotifierTest.java |  4 +-
 .../camel/management/RemoveEventNotifierTest.java  |  4 +-
 12 files changed, 93 insertions(+), 102 deletions(-)

diff --git a/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/CamelEventNotifierTest.java b/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/CamelEventNotifierTest.java
index cca199e7fe6..7c0c1f54218 100644
--- a/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/CamelEventNotifierTest.java
+++ b/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/CamelEventNotifierTest.java
@@ -133,7 +133,7 @@ public class CamelEventNotifierTest {
 
         assertIsSatisfied(2L, TimeUnit.SECONDS, outbound);
 
-        assertThat("Events count is incorrect!", events.size(), equalTo(12));
+        assertThat("Events count is incorrect!", events.size(), equalTo(10));
         assertThat("Events types are incorrect!", events,
                 contains(
                         CamelContextInitializingEvent.class,
@@ -142,11 +142,9 @@ public class CamelEventNotifierTest {
                         CamelContextStartedEvent.class,
                         ExchangeSendingEvent.class,
                         ExchangeCreatedEvent.class,
-                        ExchangeAsyncProcessingStartedEvent.class,
                         ExchangeSendingEvent.class,
                         ExchangeSentEvent.class,
                         ExchangeCompletedEvent.class,
-                        ExchangeAsyncProcessingStartedEvent.class,
                         ExchangeSentEvent.class));
     }
 
@@ -155,7 +153,7 @@ public class CamelEventNotifierTest {
     public void stopCamelContext(CamelContext context, List<Class> events) {
         context.stop();
 
-        assertThat("Events count is incorrect!", events.size(), equalTo(14));
+        assertThat("Events count is incorrect!", events.size(), equalTo(12));
         assertThat("Events types are incorrect!", events,
                 contains(
                         CamelContextInitializingEvent.class,
@@ -164,11 +162,9 @@ public class CamelEventNotifierTest {
                         CamelContextStartedEvent.class,
                         ExchangeSendingEvent.class,
                         ExchangeCreatedEvent.class,
-                        ExchangeAsyncProcessingStartedEvent.class,
                         ExchangeSendingEvent.class,
                         ExchangeSentEvent.class,
                         ExchangeCompletedEvent.class,
-                        ExchangeAsyncProcessingStartedEvent.class,
                         ExchangeSentEvent.class,
                         CamelContextStoppingEvent.class,
                         CamelContextStoppedEvent.class));
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/CamelEvent.java b/core/camel-api/src/main/java/org/apache/camel/spi/CamelEvent.java
index 2bb7ce234a9..8293904eac8 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/CamelEvent.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/CamelEvent.java
@@ -450,6 +450,11 @@ public interface CamelEvent {
         }
     }
 
+
+    /**
+     * Special event only in use for camel-tracing / camel-opentelemtry.
+     * This event is NOT (by default) in use.
+     */
     interface ExchangeAsyncProcessingStartedEvent extends ExchangeEvent {
         @Override
         default Type getType() {
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/EventFactory.java b/core/camel-api/src/main/java/org/apache/camel/spi/EventFactory.java
index ef4313b28f3..1e78de880e2 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/EventFactory.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/EventFactory.java
@@ -325,6 +325,9 @@ public interface EventFactory {
      * This is guaranteed to run on the same thread on which {@code RoutePolicySupport.onExchangeBegin} was called
      * and/or {@code ExchangeSendingEvent} was fired.
      *
+     * Special event only in use for camel-tracing / camel-opentelemtry.
+     * This event is NOT (by default) in use.
+     *
      * @param  exchange the exchange
      * @return          the created event
      */
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/event/ExchangeAsyncProcessingStartedEvent.java b/core/camel-base/src/main/java/org/apache/camel/impl/event/ExchangeAsyncProcessingStartedEvent.java
index 2f38d412aa5..fb474d7eef6 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/event/ExchangeAsyncProcessingStartedEvent.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/event/ExchangeAsyncProcessingStartedEvent.java
@@ -25,6 +25,9 @@ import org.apache.camel.support.RoutePolicySupport;
  * Notifies that async processing has started. It's guaranteed to run on the same thread on which
  * {@link RoutePolicySupport#onExchangeBegin(Route, Exchange)} was called and/or {@link ExchangeSendingEvent} was fired.
  *
+ * Special event only in use for camel-tracing / camel-opentelemtry.
+ * This event is NOT (by default) in use.
+ *
  * @see ExchangeAsyncProcessingStartedEvent
  */
 public class ExchangeAsyncProcessingStartedEvent extends AbstractExchangeEvent
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/event/EventNotifierEventsTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/event/EventNotifierEventsTest.java
index 65feefa2917..616f17850a7 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/event/EventNotifierEventsTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/event/EventNotifierEventsTest.java
@@ -79,7 +79,7 @@ public class EventNotifierEventsTest {
 
         mock.assertIsSatisfied();
 
-        assertEquals(23, events.size());
+        assertEquals(20, events.size());
         assertIsInstanceOf(CamelEvent.CamelContextInitializingEvent.class, events.get(0));
         assertIsInstanceOf(CamelEvent.CamelContextInitializedEvent.class, events.get(1));
         assertIsInstanceOf(CamelContextStartingEvent.class, events.get(2));
@@ -93,32 +93,28 @@ public class EventNotifierEventsTest {
         assertIsInstanceOf(CamelContextRoutesStartedEvent.class, events.get(10));
         assertIsInstanceOf(CamelContextStartedEvent.class, events.get(11));
         assertIsInstanceOf(ExchangeCreatedEvent.class, events.get(13));
-        assertIsInstanceOf(ExchangeAsyncProcessingStartedEvent.class, events.get(14));
-        assertIsInstanceOf(ExchangeSendingEvent.class, events.get(15));
-
-        assertIsInstanceOf(ExchangeSentEvent.class, events.get(16));
-        assertIsInstanceOf(ExchangeAsyncProcessingStartedEvent.class, events.get(17));
-        assertIsInstanceOf(ExchangeSendingEvent.class, events.get(18));
-        assertIsInstanceOf(ExchangeSentEvent.class, events.get(19));
-        assertIsInstanceOf(ExchangeCompletedEvent.class, events.get(20));
-        assertIsInstanceOf(ExchangeAsyncProcessingStartedEvent.class, events.get(21));
+        assertIsInstanceOf(ExchangeSendingEvent.class, events.get(14));
+        assertIsInstanceOf(ExchangeSentEvent.class, events.get(15));
+        assertIsInstanceOf(ExchangeSendingEvent.class, events.get(16));
+        assertIsInstanceOf(ExchangeSentEvent.class, events.get(17));
+        assertIsInstanceOf(ExchangeCompletedEvent.class, events.get(18));
 
         // this is the sent using the produce template to start the test
-        assertIsInstanceOf(ExchangeSentEvent.class, events.get(22));
+        assertIsInstanceOf(ExchangeSentEvent.class, events.get(19));
 
         context.stop();
 
-        assertEquals(33, events.size());
-        assertIsInstanceOf(CamelContextStoppingEvent.class, events.get(23));
-        assertIsInstanceOf(CamelContextRoutesStoppingEvent.class, events.get(24));
+        assertEquals(30, events.size());
+        assertIsInstanceOf(CamelContextStoppingEvent.class, events.get(20));
+        assertIsInstanceOf(CamelContextRoutesStoppingEvent.class, events.get(21));
+        assertIsInstanceOf(RouteStoppingEvent.class, events.get(22));
+        assertIsInstanceOf(RouteStoppedEvent.class, events.get(23));
+        assertIsInstanceOf(RouteRemovedEvent.class, events.get(24));
         assertIsInstanceOf(RouteStoppingEvent.class, events.get(25));
         assertIsInstanceOf(RouteStoppedEvent.class, events.get(26));
         assertIsInstanceOf(RouteRemovedEvent.class, events.get(27));
-        assertIsInstanceOf(RouteStoppingEvent.class, events.get(28));
-        assertIsInstanceOf(RouteStoppedEvent.class, events.get(29));
-        assertIsInstanceOf(RouteRemovedEvent.class, events.get(30));
-        assertIsInstanceOf(CamelContextRoutesStoppedEvent.class, events.get(31));
-        assertIsInstanceOf(CamelContextStoppedEvent.class, events.get(32));
+        assertIsInstanceOf(CamelContextRoutesStoppedEvent.class, events.get(28));
+        assertIsInstanceOf(CamelContextStoppedEvent.class, events.get(29));
     }
 
     @Test
@@ -134,7 +130,7 @@ public class EventNotifierEventsTest {
             assertIsInstanceOf(IllegalArgumentException.class, e.getCause());
         }
 
-        assertEquals(18, events.size());
+        assertEquals(16, events.size());
         assertIsInstanceOf(CamelEvent.CamelContextInitializingEvent.class, events.get(0));
         assertIsInstanceOf(CamelEvent.CamelContextInitializedEvent.class, events.get(1));
         assertIsInstanceOf(CamelContextStartingEvent.class, events.get(2));
@@ -149,27 +145,24 @@ public class EventNotifierEventsTest {
         assertIsInstanceOf(CamelContextStartedEvent.class, events.get(11));
         assertIsInstanceOf(ExchangeSendingEvent.class, events.get(12));
         assertIsInstanceOf(ExchangeCreatedEvent.class, events.get(13));
-
-        assertIsInstanceOf(ExchangeAsyncProcessingStartedEvent.class, events.get(14));
-        assertIsInstanceOf(ExchangeFailedEvent.class, events.get(15));
-        assertIsInstanceOf(ExchangeAsyncProcessingStartedEvent.class, events.get(16));
+        assertIsInstanceOf(ExchangeFailedEvent.class, events.get(14));
 
         // this is the sent using the produce template to start the test
-        assertIsInstanceOf(ExchangeSentEvent.class, events.get(17));
+        assertIsInstanceOf(ExchangeSentEvent.class, events.get(15));
 
         context.stop();
 
-        assertEquals(28, events.size());
-        assertIsInstanceOf(CamelContextStoppingEvent.class, events.get(18));
-        assertIsInstanceOf(CamelContextRoutesStoppingEvent.class, events.get(19));
-        assertIsInstanceOf(RouteStoppingEvent.class, events.get(20));
-        assertIsInstanceOf(RouteStoppedEvent.class, events.get(21));
-        assertIsInstanceOf(RouteRemovedEvent.class, events.get(22));
-        assertIsInstanceOf(RouteStoppingEvent.class, events.get(23));
-        assertIsInstanceOf(RouteStoppedEvent.class, events.get(24));
-        assertIsInstanceOf(RouteRemovedEvent.class, events.get(25));
-        assertIsInstanceOf(CamelContextRoutesStoppedEvent.class, events.get(26));
-        assertIsInstanceOf(CamelContextStoppedEvent.class, events.get(27));
+        assertEquals(26, events.size());
+        assertIsInstanceOf(CamelContextStoppingEvent.class, events.get(16));
+        assertIsInstanceOf(CamelContextRoutesStoppingEvent.class, events.get(17));
+        assertIsInstanceOf(RouteStoppingEvent.class, events.get(18));
+        assertIsInstanceOf(RouteStoppedEvent.class, events.get(19));
+        assertIsInstanceOf(RouteRemovedEvent.class, events.get(20));
+        assertIsInstanceOf(RouteStoppingEvent.class, events.get(21));
+        assertIsInstanceOf(RouteStoppedEvent.class, events.get(22));
+        assertIsInstanceOf(RouteRemovedEvent.class, events.get(23));
+        assertIsInstanceOf(CamelContextRoutesStoppedEvent.class, events.get(24));
+        assertIsInstanceOf(CamelContextStoppedEvent.class, events.get(25));
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/event/MultipleEventNotifierEventsTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/event/MultipleEventNotifierEventsTest.java
index 967793635eb..b53eaf830d1 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/event/MultipleEventNotifierEventsTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/event/MultipleEventNotifierEventsTest.java
@@ -80,7 +80,7 @@ public class MultipleEventNotifierEventsTest extends ContextTestSupport {
 
         assertMockEndpointsSatisfied();
 
-        assertEquals(23, events.size());
+        assertEquals(20, events.size());
         assertIsInstanceOf(CamelEvent.CamelContextInitializingEvent.class, events.get(0));
         assertIsInstanceOf(CamelEvent.CamelContextInitializedEvent.class, events.get(1));
         assertIsInstanceOf(CamelContextStartingEvent.class, events.get(2));
@@ -95,44 +95,38 @@ public class MultipleEventNotifierEventsTest extends ContextTestSupport {
         assertIsInstanceOf(CamelContextStartedEvent.class, events.get(11));
         assertIsInstanceOf(ExchangeSendingEvent.class, events.get(12));
         assertIsInstanceOf(ExchangeCreatedEvent.class, events.get(13));
-        assertIsInstanceOf(ExchangeAsyncProcessingStartedEvent.class, events.get(14));
-        assertIsInstanceOf(ExchangeSendingEvent.class, events.get(15));
-        assertIsInstanceOf(ExchangeSentEvent.class, events.get(16));
-        assertIsInstanceOf(ExchangeAsyncProcessingStartedEvent.class, events.get(17));
-        assertIsInstanceOf(ExchangeSendingEvent.class, events.get(18));
+        assertIsInstanceOf(ExchangeSendingEvent.class, events.get(14));
+        assertIsInstanceOf(ExchangeSentEvent.class, events.get(15));
+        assertIsInstanceOf(ExchangeSendingEvent.class, events.get(16));
+        assertIsInstanceOf(ExchangeSentEvent.class, events.get(17));
+        assertIsInstanceOf(ExchangeCompletedEvent.class, events.get(18));
         assertIsInstanceOf(ExchangeSentEvent.class, events.get(19));
-        assertIsInstanceOf(ExchangeCompletedEvent.class, events.get(20));
-        assertIsInstanceOf(ExchangeAsyncProcessingStartedEvent.class, events.get(21));
-        assertIsInstanceOf(ExchangeSentEvent.class, events.get(22));
 
-        assertEquals(11, events2.size());
+        assertEquals(8, events2.size());
         assertIsInstanceOf(ExchangeSendingEvent.class, events2.get(0));
         assertIsInstanceOf(ExchangeCreatedEvent.class, events2.get(1));
-        assertIsInstanceOf(ExchangeAsyncProcessingStartedEvent.class, events2.get(2));
-        assertIsInstanceOf(ExchangeSendingEvent.class, events2.get(3));
-        assertIsInstanceOf(ExchangeSentEvent.class, events2.get(4));
-        assertIsInstanceOf(ExchangeAsyncProcessingStartedEvent.class, events2.get(5));
-        assertIsInstanceOf(ExchangeSendingEvent.class, events2.get(6));
+        assertIsInstanceOf(ExchangeSendingEvent.class, events2.get(2));
+        assertIsInstanceOf(ExchangeSentEvent.class, events2.get(3));
+        assertIsInstanceOf(ExchangeSendingEvent.class, events2.get(4));
+        assertIsInstanceOf(ExchangeSentEvent.class, events2.get(5));
+        assertIsInstanceOf(ExchangeCompletedEvent.class, events2.get(6));
         assertIsInstanceOf(ExchangeSentEvent.class, events2.get(7));
-        assertIsInstanceOf(ExchangeCompletedEvent.class, events2.get(8));
-        assertIsInstanceOf(ExchangeAsyncProcessingStartedEvent.class, events2.get(9));
-        assertIsInstanceOf(ExchangeSentEvent.class, events2.get(10));
 
         context.stop();
 
-        assertEquals(33, events.size());
-        assertIsInstanceOf(CamelContextStoppingEvent.class, events.get(23));
-        assertIsInstanceOf(CamelContextRoutesStoppingEvent.class, events.get(24));
+        assertEquals(30, events.size());
+        assertIsInstanceOf(CamelContextStoppingEvent.class, events.get(20));
+        assertIsInstanceOf(CamelContextRoutesStoppingEvent.class, events.get(21));
+        assertIsInstanceOf(RouteStoppingEvent.class, events.get(22));
+        assertIsInstanceOf(RouteStoppedEvent.class, events.get(23));
+        assertIsInstanceOf(RouteRemovedEvent.class, events.get(24));
         assertIsInstanceOf(RouteStoppingEvent.class, events.get(25));
         assertIsInstanceOf(RouteStoppedEvent.class, events.get(26));
         assertIsInstanceOf(RouteRemovedEvent.class, events.get(27));
-        assertIsInstanceOf(RouteStoppingEvent.class, events.get(28));
-        assertIsInstanceOf(RouteStoppedEvent.class, events.get(29));
-        assertIsInstanceOf(RouteRemovedEvent.class, events.get(30));
-        assertIsInstanceOf(CamelContextRoutesStoppedEvent.class, events.get(31));
-        assertIsInstanceOf(CamelContextStoppedEvent.class, events.get(32));
+        assertIsInstanceOf(CamelContextRoutesStoppedEvent.class, events.get(28));
+        assertIsInstanceOf(CamelContextStoppedEvent.class, events.get(29));
 
-        assertEquals(11, events2.size());
+        assertEquals(8, events2.size());
     }
 
     @Test
@@ -145,7 +139,7 @@ public class MultipleEventNotifierEventsTest extends ContextTestSupport {
             assertIsInstanceOf(IllegalArgumentException.class, e.getCause());
         }
 
-        assertEquals(18, events.size());
+        assertEquals(16, events.size());
         assertIsInstanceOf(CamelEvent.CamelContextInitializingEvent.class, events.get(0));
         assertIsInstanceOf(CamelEvent.CamelContextInitializedEvent.class, events.get(1));
         assertIsInstanceOf(CamelContextStartingEvent.class, events.get(2));
@@ -160,34 +154,30 @@ public class MultipleEventNotifierEventsTest extends ContextTestSupport {
         assertIsInstanceOf(CamelContextStartedEvent.class, events.get(11));
         assertIsInstanceOf(ExchangeSendingEvent.class, events.get(12));
         assertIsInstanceOf(ExchangeCreatedEvent.class, events.get(13));
-        assertIsInstanceOf(ExchangeAsyncProcessingStartedEvent.class, events.get(14));
-        assertIsInstanceOf(ExchangeFailedEvent.class, events.get(15));
-        assertIsInstanceOf(ExchangeAsyncProcessingStartedEvent.class, events.get(16));
-        assertIsInstanceOf(ExchangeSentEvent.class, events.get(17));
+        assertIsInstanceOf(ExchangeFailedEvent.class, events.get(14));
+        assertIsInstanceOf(ExchangeSentEvent.class, events.get(15));
 
-        assertEquals(6, events2.size());
+        assertEquals(4, events2.size());
 
         context.stop();
         assertIsInstanceOf(ExchangeSendingEvent.class, events2.get(0));
         assertIsInstanceOf(ExchangeCreatedEvent.class, events2.get(1));
-        assertIsInstanceOf(ExchangeAsyncProcessingStartedEvent.class, events2.get(2));
-        assertIsInstanceOf(ExchangeFailedEvent.class, events2.get(3));
-        assertIsInstanceOf(ExchangeAsyncProcessingStartedEvent.class, events2.get(4));
-        assertIsInstanceOf(ExchangeSentEvent.class, events2.get(5));
-
-        assertEquals(28, events.size());
-        assertIsInstanceOf(CamelContextStoppingEvent.class, events.get(18));
-        assertIsInstanceOf(CamelContextRoutesStoppingEvent.class, events.get(19));
-        assertIsInstanceOf(RouteStoppingEvent.class, events.get(20));
-        assertIsInstanceOf(RouteStoppedEvent.class, events.get(21));
-        assertIsInstanceOf(RouteRemovedEvent.class, events.get(22));
-        assertIsInstanceOf(RouteStoppingEvent.class, events.get(23));
-        assertIsInstanceOf(RouteStoppedEvent.class, events.get(24));
-        assertIsInstanceOf(RouteRemovedEvent.class, events.get(25));
-        assertIsInstanceOf(CamelContextRoutesStoppedEvent.class, events.get(26));
-        assertIsInstanceOf(CamelContextStoppedEvent.class, events.get(27));
-
-        assertEquals(6, events2.size());
+        assertIsInstanceOf(ExchangeFailedEvent.class, events2.get(2));
+        assertIsInstanceOf(ExchangeSentEvent.class, events2.get(3));
+
+        assertEquals(26, events.size());
+        assertIsInstanceOf(CamelContextStoppingEvent.class, events.get(16));
+        assertIsInstanceOf(CamelContextRoutesStoppingEvent.class, events.get(17));
+        assertIsInstanceOf(RouteStoppingEvent.class, events.get(18));
+        assertIsInstanceOf(RouteStoppedEvent.class, events.get(19));
+        assertIsInstanceOf(RouteRemovedEvent.class, events.get(20));
+        assertIsInstanceOf(RouteStoppingEvent.class, events.get(21));
+        assertIsInstanceOf(RouteStoppedEvent.class, events.get(22));
+        assertIsInstanceOf(RouteRemovedEvent.class, events.get(23));
+        assertIsInstanceOf(CamelContextRoutesStoppedEvent.class, events.get(24));
+        assertIsInstanceOf(CamelContextStoppedEvent.class, events.get(25));
+
+        assertEquals(4, events2.size());
     }
 
     @Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugTest.java
index 3aa7c400fdf..7df10cab404 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugTest.java
@@ -161,7 +161,7 @@ public class DebugTest extends ContextTestSupport {
 
         assertMockEndpointsSatisfied();
 
-        assertEquals(13, logs.size());
+        assertEquals(10, logs.size());
 
         // remove the breakpoint
         context.getDebugger().removeBreakpoint(breakpoint);
diff --git a/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java b/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java
index e5d6aa38f0a..7a6a99ddf69 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java
@@ -714,6 +714,7 @@ public abstract class BaseMainSupport extends BaseService {
         // but before camel context logs that it has been started, so we need to use an event listener
         if (standalone && mainConfigurationProperties.isAutoConfigurationLogSummary()) {
             camelContext.getManagementStrategy().addEventNotifier(new EventNotifierSupport() {
+                // TODO: ignore as much as possible
                 @Override
                 public boolean isEnabled(CamelEvent event) {
                     return event instanceof CamelEvent.CamelContextRoutesStartedEvent;
diff --git a/core/camel-management/src/test/java/org/apache/camel/management/AddEventNotifierTest.java b/core/camel-management/src/test/java/org/apache/camel/management/AddEventNotifierTest.java
index 83bcb502641..68fd88d66d2 100644
--- a/core/camel-management/src/test/java/org/apache/camel/management/AddEventNotifierTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/management/AddEventNotifierTest.java
@@ -67,7 +67,7 @@ public class AddEventNotifierTest extends ContextTestSupport {
         template.sendBody("direct:start", "Bye World");
         assertMockEndpointsSatisfied();
 
-        assertEquals(11, events.size());
+        assertEquals(8, events.size());
 
         // remove and we should not get new events
         context.getManagementStrategy().removeEventNotifier(notifier);
@@ -77,7 +77,7 @@ public class AddEventNotifierTest extends ContextTestSupport {
         template.sendBody("direct:start", "Hi World");
         assertMockEndpointsSatisfied();
 
-        assertEquals(11, events.size());
+        assertEquals(8, events.size());
     }
 
     @Override
diff --git a/core/camel-management/src/test/java/org/apache/camel/management/JmxNotificationEventNotifierTest.java b/core/camel-management/src/test/java/org/apache/camel/management/JmxNotificationEventNotifierTest.java
index 44a47ed69b0..5d46399d52a 100644
--- a/core/camel-management/src/test/java/org/apache/camel/management/JmxNotificationEventNotifierTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/management/JmxNotificationEventNotifierTest.java
@@ -77,7 +77,7 @@ public class JmxNotificationEventNotifierTest extends ManagementTestSupport {
 
         assertMockEndpointsSatisfied();
 
-        assertEquals(11, listener.getEventCounter(), "Get a wrong number of events");
+        assertEquals(8, listener.getEventCounter(), "Get a wrong number of events");
 
         context.stop();
     }
@@ -104,7 +104,7 @@ public class JmxNotificationEventNotifierTest extends ManagementTestSupport {
             assertIsInstanceOf(IllegalArgumentException.class, e.getCause());
         }
 
-        assertEquals(6, listener.getEventCounter(), "Get a wrong number of events");
+        assertEquals(4, listener.getEventCounter(), "Get a wrong number of events");
 
         context.stop();
     }
diff --git a/core/camel-management/src/test/java/org/apache/camel/management/PublishEventNotifierTest.java b/core/camel-management/src/test/java/org/apache/camel/management/PublishEventNotifierTest.java
index c00e3683f51..3decdb7043d 100644
--- a/core/camel-management/src/test/java/org/apache/camel/management/PublishEventNotifierTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/management/PublishEventNotifierTest.java
@@ -50,7 +50,7 @@ public class PublishEventNotifierTest extends ContextTestSupport {
     @Test
     public void testExchangeDone() throws Exception {
         getMockEndpoint("mock:result").expectedMessageCount(1);
-        getMockEndpoint("mock:event").expectedMessageCount(12);
+        getMockEndpoint("mock:event").expectedMessageCount(9);
 
         template.sendBody("direct:start", "Hello World");
 
@@ -59,7 +59,7 @@ public class PublishEventNotifierTest extends ContextTestSupport {
 
     @Test
     public void testExchangeFailed() throws Exception {
-        getMockEndpoint("mock:event").expectedMessageCount(7);
+        getMockEndpoint("mock:event").expectedMessageCount(5);
 
         try {
             template.sendBody("direct:fail", "Hello World");
diff --git a/core/camel-management/src/test/java/org/apache/camel/management/RemoveEventNotifierTest.java b/core/camel-management/src/test/java/org/apache/camel/management/RemoveEventNotifierTest.java
index 8436150bae1..471626215a4 100644
--- a/core/camel-management/src/test/java/org/apache/camel/management/RemoveEventNotifierTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/management/RemoveEventNotifierTest.java
@@ -66,7 +66,7 @@ public class RemoveEventNotifierTest extends ContextTestSupport {
         template.sendBody("direct:start", "Hello World");
         assertMockEndpointsSatisfied();
 
-        assertEquals(20, events.size());
+        assertEquals(17, events.size());
 
         // remove and we should not get new events
         context.getManagementStrategy().removeEventNotifier(notifier);
@@ -76,7 +76,7 @@ public class RemoveEventNotifierTest extends ContextTestSupport {
         template.sendBody("direct:start", "Bye World");
         assertMockEndpointsSatisfied();
 
-        assertEquals(20, events.size());
+        assertEquals(17, events.size());
     }
 
     @Override