복붙노트

[SPRING] 스프링 통합에서 동적으로 ftp 어댑터를 만드는 방법은 무엇입니까?

SPRING

스프링 통합에서 동적으로 ftp 어댑터를 만드는 방법은 무엇입니까?

주의 해줘서 고마워. 내 프로젝트에서 봄 통합을 사용하여, 나는 여러 이미지 파일과 다른 주소로 여러 FTP 서버에서 많은 입력 파일을 검색하려면 :

내 프로젝트에서 동적으로 인바운드 어댑터를 생성하여 서버에서 파일을 폴링하고 검색하는 방법은 무엇입니까?

해결법

  1. ==============================

    1.dynamic-ftp 샘플을 참조하십시오. 아웃 바운드 측만 다루지 만 README에는 인바운드 측에서 수행해야 할 작업 (메인 컨텍스트의 채널에 메시지를 보내는 하위 컨텍스트에 각 어댑터를 배치해야 함)에 대한 링크가 있습니다.

    dynamic-ftp 샘플을 참조하십시오. 아웃 바운드 측만 다루지 만 README에는 인바운드 측에서 수행해야 할 작업 (메인 컨텍스트의 채널에 메시지를 보내는 하위 컨텍스트에 각 어댑터를 배치해야 함)에 대한 링크가 있습니다.

    또한 Java 구성을 사용하여 여러 IMAP 메일 어댑터에 대한 비슷한 질문에 대한 내 대답을 확인한 후 후속 질문을 참조하십시오.

    거기에서 사용 된 기술을 사용할 수 있어야합니다.

  2. ==============================

    2.프로젝트에서 타사 라이브러리 (예 : 릴리스 후보 (RC) 또는 마일스톤 (M))가 아닌 "일반용"(GA) 버전을 사용할 수 있다면 Spring 5.0.0.M2 버전을 활용할 수 있습니다 완성. 17/03/09 현재 최신 버전입니다.

    프로젝트에서 타사 라이브러리 (예 : 릴리스 후보 (RC) 또는 마일스톤 (M))가 아닌 "일반용"(GA) 버전을 사용할 수 있다면 Spring 5.0.0.M2 버전을 활용할 수 있습니다 완성. 17/03/09 현재 최신 버전입니다.

    5.0부터 스프링 통합은 Java DSL 런타임 흐름 등록 기능을 포함합니다. 표준 Bean에서와 같이 통합 플로우 (인 Y 운드 어댑터 포함)를 정의 할 수 있지만 모든 런타임 순간에 완료 될 수 있습니다.

    이 세 단계 만 사용하면됩니다.

      @Autowired
      public MyClass(IntegrationFlowContext flowContext) {
        this.flowContext = flowContext;
      }
    
      IntegrationFlowRegistration registration = flowContext
          .registration(IntegrationFlows   // this method accepts IntegrationFlow instance
                            .from(s -> s.ftp(ftpSessionFactory())
                                        .localFilter(localFileFilter())
                            //other actions
                            .get())        // standard end of DSL flow building process
          .autoStartup(true)               // not required but can be useful
          .register();                     // this makes the flow exist in the context
    
    // retrieve registration ID from the object created above
    String dynamicFlowRegistrationId = registration.getId();
    // the following will also gracefully stop all the processes within the flow
    flowContext.remove(dynamicFlowRegistrationId);
    

    GitHub에는 DynamicTcpClient 샘플도 있습니다.

  3. from https://stackoverflow.com/questions/35388816/how-dynamic-create-ftp-adapter-in-spring-integration by cc-by-sa and MIT license