Spring Integration вызывает ошибку нескольких бинов - PullRequest
0 голосов
/ 26 марта 2020

Я использую Spring Boot и пытаюсь использовать интеграцию Spring (потому что я хочу использовать его SFTP-клиент). Но я получил следующую ошибку:

Description:
Parameter 0 of constructor in com.example.demo.service.ServiceOne required a single bean, but 2 were found:
    - applicationTaskExecutor: defined by method 'applicationTaskExecutor' in class path resource [org/springframework/boot/autoconfigure/task/TaskExecutionAutoConfiguration.class]
    - taskScheduler: defined in null


Action:

Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed

Я уверен, что ошибка возникает после добавления зависимостей для Spring-интеграции. Я попытался использовать @Qualifier("applicationTaskExecutor") и создать компонент с аннотацией @Primary, но все еще не смог запустить приложение. Как это исправить?

1 Ответ

1 голос
/ 26 марта 2020

Как указано, в контексте приложения есть два компонента TaskExecutor. Один из них автоматически конфигурируется TaskExecutionAutoConfiguration, а другой - Spring Integration для его функций опроса, что по сути является TaskScheduler.

. В описании ошибки предлагается использовать @Qualifier("applicationTaskExecutor") на ServiceOne Параметр 0 конструктора. Вам не нужно иметь @Primary bean-компонент, потому что история о bean-компонентах, созданных вне вашего кода.

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