Annotation Interface EnableIntegrationMBeanExport


Enables default exporting for Spring Integration components in an existing application, as well as well all @ManagedResource annotated beans.

The resulting IntegrationMBeanExporter bean is defined under the name integrationMbeanExporter. Alternatively, consider defining a custom IntegrationMBeanExporter bean explicitly.

This annotation is modeled after and functionally equivalent to Spring Integration XML's <int-jmx:mbean-export/> element.

Since:
4.0
Author:
Artem Bilan, Gary Russell
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    The default domain to use when generating JMX ObjectNames.
    A list of simple patterns for component names to register (defaults to '*').
    The policy to use when attempting to register an MBean under an ObjectName that already exists.
    The bean name of the MBeanServer to which MBeans should be exported.
  • Element Details

    • defaultDomain

      String defaultDomain
      The default domain to use when generating JMX ObjectNames. Supports property placeholders (e.g. ${project.domain}).
      Returns:
      the domain.
      Default:
      ""
    • server

      String server
      The bean name of the MBeanServer to which MBeans should be exported. Default is to use the platform's default MBeanServer. Supports property placeholders (e.g. ${project.mbeanServer}) and SpEL expression (e.g. #{mbeanServer}).
      Returns:
      the server.
      Default:
      ""
    • registration

      RegistrationPolicy registration
      The policy to use when attempting to register an MBean under an ObjectName that already exists. Defaults to RegistrationPolicy.FAIL_ON_EXISTING.
      Returns:
      the registration policy.
      Default:
      FAIL_ON_EXISTING
    • managedComponents

      String[] managedComponents
      A list of simple patterns for component names to register (defaults to '*'). The pattern is applied to all components before they are registered, looking for a match on the 'name' property of the ObjectName. A MessageChannel and a MessageHandler (for instance) can share a name because they have a different type, so in that case they would either both be included or both excluded. Since version 4.2, a leading '!' negates the pattern match ('!foo*' means don't export components where the name matches the pattern 'foo*'). For components with names that match multiple patterns, the first pattern wins. Supports property placeholders (e.g. $ managed.components}). Can be applied for each element.
      Returns:
      the patterns.
      Default:
      {"*"}