2015-08-14 3 views
2

Я использую интеграцию spring для интеграции ftp. Ниже приведена моя конфигурацияконвертировать компоненты интеграции весны в конфигурацию java

<int:channel id="ftpChannel"/> 

    <int-ftp:outbound-channel-adapter id="ftpOutbound" 
       channel="ftpChannel" 
       remote-directory="/" 
       session-factory="ftpClientFactory"> 
     <int-ftp:request-handler-advice-chain> 
      <int:retry-advice /> 
     </int-ftp:request-handler-advice-chain> 
    </int-ftp:outbound-channel-adapter> 

Как преобразовать это в конфигурацию пружины на основе java?

ответ

2

С одной стороны, пожалуйста, обратите внимание, что у нас уже есть проект интеграции с Spring Integration Java DSL, и вы можете найти там FTP test-cases, чтобы выяснить, как настроить FTP-адаптер с точки зрения Java и DSL.

С другой стороны, вы должны взглянуть на Spring Integration Reference Manual, аннотаций Конфигурация chapter, чтобы выяснить, что @ServiceActivator, @Transformer и другие. Ваш конкретный случай может выглядеть так:

@Bean 
@ServiceActivator(inputChannel = "ftpChannel", adviceChain = "retryAdvice") 
public MessageHandler ftpHandler() { 
    FileTransferringMessageHandler handler = new FileTransferringMessageHandler(this.ftpClientFactory); 
    handler.setRemoteDirectoryExpression(new LiteralExpression("/")) 
    return handler; 
} 

и так далее. retryAdvice в моем примере является bean-name для RequestHandlerRetryAdvice.

+0

Что вы рекомендуете? – riship89

+0

Спасибо за помощь, но это не решит мою проблему. Можете ли вы подробнее рассказать? глава конфигурации аннотации немного сложна для понимания на этом этапе. – riship89

+0

На самом деле, единственная конфигурация Java & Annotation действительно сложна и не зависит от этой документации. Особенно вы не должны забывать добавлять '@ EnableIntegration' вместе с' @ Configuration' и так далее. С другой стороны, возможно, Java DSL будет проще для вас ... –

Смежные вопросы