Uploaded image for project: 'Spring Integration'
  1. Spring Integration
  2. INT-2585

Spring Integration Components should not use generated inner-bean names

    XMLWordPrintable

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Won't Fix
    • 2.2 M1
    • None
    • Adapters, Core
    • None

    Description

      • removing generated names for inner components
      • instead use id of the enclosing adapter and append some suffix (e.g. ".adapter")
      • This does not have to be configurable.

      See the following commit that gives an alias to MessageHandlers within consuming endpoints...

      https://github.com/SpringSource/spring-integration/commit/59d7432eefdf9ea664ebfabab52b5c39ae43f2a5

      The Stored Procedure components (JDBC Adapter) apply the following logic (example):

      final AbstractBeanDefinition jpaExecutorBuilderBeanDefinition = storedProcExecutorBuilder.getBeanDefinition();
      final String gatewayId = this.resolveId(element, builder.getRawBeanDefinition(), parserContext);
      final String jpaExecutorBeanName = gatewayId + ".storedProcExecutor";
      
      parserContext.registerBeanComponent(new BeanComponentDefinition(jpaExecutorBuilderBeanDefinition, jpaExecutorBeanName));
      

      Maybe there is a way to expand upon IntegrationNamespaceUtilsgenerateAlias(). We probably should also considering to implement this in a type-safe manner...e.g. defining an Enum for common suffixes.

      Attachments

        Issue Links

          Activity

            People

              abilan Artem Bilan
              hillert Gunnar Hillert
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: