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

When using @EndpointInject or other bean initializers, then JMX should pre record those lifecycle events to enlist in JMX later when CamelContext has been enlisted

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.7.2, 2.8.0
    • 2.8.2, 2.9.0
    • camel-core, jmx
    • None

    Description

      See nabble
      http://camel.465427.n5.nabble.com/Camel-issue-with-JMX-Endpoints-disappearing-and-endpoint-injection-for-SEDA-tp4616624p4616624.html

      The problem is that when you use @EndpointInject, @Produce, @Consume etc. on beans then Spring / Blueprint triggers the CamelBeanPostProcessor which inject those details into the bean. But this process happens very early, before CamelContext is being started.
      And thus components/endpoints/etc is already been loaded/registered in registry.

      But they cannot this early be enlisted in JMX, as CamelContext has not yet been enlisted. So we need to pre record those events, and then enlist them after CamelContext has been enlisted in JMX.

      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: