Файл входящего адаптера в примере не работает - PullRequest
0 голосов
/ 29 января 2019
@SpringBootApplication
public class FileReadingJavaApplication {

    public static void main(String[] args) {
        new SpringApplicationBuilder(FileReadingJavaApplication.class)
            .web(false)
            .run(args);
    }

    @Bean
    public IntegrationFlow fileReadingFlow() {
         return IntegrationFlows
                  .from(s -> s.file(new File(INBOUND_PATH))
                              .patternFilter("*.txt"),
                          e -> e.poller(Pollers.fixedDelay(1000)))
                  .transform(Files.toStringTransformer())
                  .channel("processFileChannel")
                  .get();
        }

}

Читает следующую ошибку в eclipse: Несколько маркеров в этой строке. - Целевой тип этого выражения должен быть функциональным интерфейсом. - Метод from (String, boolean) в типе IntegrationFlows не применим для аргументов ((s) -> {}, (e) -> {})

1 Ответ

0 голосов
/ 29 января 2019

Похоже, вы уже используете Spring Integration 5.x.Не существует такой фабрики для канальных адаптеров, чтобы избежать циклической зависимости.Вам нужно использовать Files.inboundAdaper() вместо этой первой лямбды.

См. Руководство по миграции: https://github.com/spring-projects/spring-integration/wiki/Spring-Integration-4.3-to-5.0-Migration-Guide

Также, пожалуйста, поднимите проблему на GitHub, чтобы исправить этот пример в документах:https://docs.spring.io/spring-integration/docs/5.1.3.BUILD-SNAPSHOT/reference/html/files.html#_configuring_with_the_java_dsl_8

См. Пример конфигурации в тестовом примере: https://github.com/spring-projects/spring-integration/blob/master/spring-integration-file/src/test/java/org/springframework/integration/file/dsl/FileTests.java

Кроме того, некоторые образцы можно найти в примерах: https://github.com/spring-projects/spring-integration-samples

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