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:51 UTC

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

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