[
https://issues.apache.org/jira/browse/CAMEL-25090?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on CAMEL-25090 started by Claus Ibsen.
-------------------------------------------
> camel-core - Event notifiers and vault configuration: fix bugs found in a
> deep review
> -------------------------------------------------------------------------------------
>
> Key: CAMEL-25090
> URL: https://issues.apache.org/jira/browse/CAMEL-25090
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Minor
>
> A review of the event notifiers and the vault configuration found these bugs:
> # An exception thrown from EventNotifier.isEnabled is not caught (only
> exceptions from notify are), so it breaks routing: a route fails to start
> (RouteStarted/RouteAdded), the CamelContext fails to start or stop, sending
> fails (ExchangeSending/ExchangeSent), and with StepStarted the exchange never
> completes.
> # The ExchangeSentEvent is only emitted when some event notifier accepted the
> ExchangeSendingEvent. A notifier with ignoreExchangeSendingEvents=true (such
> as the sql-trace dev console), or whose isEnabled only accepts
> ExchangeSentEvent, never receives any sent events.
> # The ExchangeRedeliveryEvent is filtered by ignoreExchangeFailedEvents
> instead of ignoreExchangeRedeliveryEvents, so ignoreExchangeRedeliveryEvents
> has no effect, and a notifier that ignores failed events (such as the
> camel-event ExchangeRedelivery consumer) gets no redelivery events.
> # When more than one vault is configured with camel.vault.* properties (such
> as camel.vault.aws.* and camel.vault.hashicorp.*), only the first is
> configured, the others are set on a nested configuration and are lost
> (without any warning).
> # With camel-main, VaultConfiguration.getAwsVaultConfiguration() (and the
> other getters) return null even when the vault is configured with
> camel.vault.aws.*, as VaultConfigurationProperties keeps its own vault
> configurations and only overrides the fluent aws()/gcp()/... methods.
> # An event notifier added to the ManagementStrategy after CamelContext has
> been started receives events but is never started (and it is not stopped when
> removed).
> Not changed:
> * A vault configuration bean from the registry (such as
> AwsVaultConfiguration) is not used by the fluent aws() method of the
> camel-main vault configuration when camel.vault.aws.* is also used.
> * The camel-event component still enables ExchangeSending events for an
> ExchangeSent consumer (no longer needed, but harmless).
> _Claude Code on behalf of Claus Ibsen_
--
This message was sent by Atlassian Jira
(v8.20.10#820010)