In case of a wrong endpoint definition, a CamelContext could be automatically restarted even if the start operation was correctly aborted.
This happens because during BlueprintCamelContext, the CamelContext instance is registered as a ServiceListener
Due to that reason, even after a stop() call is invoked by the error execution branch of start(), that instance is receptive to external service events that result in the invocation of this method:
That method has the freedom to start again the CamelContext instance.
The proposed solution is to use a BlueprintCamelContext local flag to keep track of the successful initialization of the Context, to be able to ignore events in case activation wasn't successful.
Note that the BlueprintCamelContext instance, un-registers itself as a service listener, only in its destroy() method.
Attached to JBoss-Fuse linked case, there is a reproducer that shows the issue.