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

Spring Integration Components should not use generated inner-bean names

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 2.2 M1
    • Fix Version/s: General Backlog
    • Component/s: Adapters, Core
    • Labels:
      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

              Assignee:
              grussell Gary Russell
              Reporter:
              hillert Gunnar Hillert
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated: