Paolo Antinori created CAMEL-10411:
--------------------------------------

             Summary: Camel-Blueprint - failed container gets restarted 
automatically
                 Key: CAMEL-10411
                 URL: https://issues.apache.org/jira/browse/CAMEL-10411
             Project: Camel
          Issue Type: Bug
          Components: camel-blueprint
    Affects Versions: 2.18.0
            Reporter: Paolo Antinori
            Assignee: Grzegorz Grzybek


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`

https://github.com/apache/camel/blob/master/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java#L102

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:

https://github.com/apache/camel/blob/master/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java#L155

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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to