Spring-Integration DSL: внедрение GatewayProxyFactoryBean в другие bean-компоненты - PullRequest
0 голосов
/ 03 марта 2019

Когда я создаю GatewayProxyFactoryBean для интерфейса в IntegrationFlow:

  public interface TempConverter {
    float fahrenheitToCelcius(float fahren);
  }

  @Bean
  public IntegrationFlow convertFlow() {
    f -> f
        .from(Tempconverter.class) // creates an instance of TempConverter
        .transform(...)
   }

и я внедряю этот интерфейс в другом месте

@Configuration
class OtherConfiguration {

    public OtherConfiguration(TempConverter tempConverter) {... }
}

, тогда Spring (5.1.5.RELEASE) не определяет, что другая конфигурация зависит от этого интерфейса, и контекст не запускается, жалуясь на отсутствующий экземпляр TempConverter.

В качестве обходного пути я могу аннотировать другую конфигурацию и сообщить ей, что convertFlowдолжен существовать первым:

@DependsOn("convertFlow")

Но это хрупко, оно ломается, если convertFlow переименовано.Есть ли лучший способ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...