Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-4678

Allow lifecycle strategy to veto starting CamelContext, but to suppress exception to ensure bundle is in valid state in OSGi

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 2.8.3, 2.9.0
    • camel-core
    • None
    • Unknown

    Description

      A custom lifecycle strategy can veto starting CamelContext in case something is wrong etc.
      This can be done by throwing the VetoCamelContextStartException in the onCamelContextStart method.

      However currently the exception is re-thrown all the way causing the osgi container to regard the bundle in failure state.
      Where as you may want the bundle to start properly, but what you intend to do is to prevent CamelContext itself from starting.

      For example currently you will get this state
      [ 218] [Active ] [Failure ] [ ] [ 60] Camel Demo App for Veto starting a CamelContext (1.0.0)

      And this error in the log
      15:58:13,057 | ERROR | rint Extender: 1 | BlueprintContainerImpl | ? ? | 10 - org.apache.aries.blueprint - 0.3.1 | Unable to start blueprint container for bundle foo

      Attachments

        Activity

          People

            davsclaus Claus Ibsen
            davsclaus Claus Ibsen
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: