簡體   English   中英

Spring Integration Java DSL:創建sftp入站適配器

[英]Spring integration Java DSL : creating sftp inbound adapter

我想使用DSL創建一個流。 流來自適配器,消息將流向通道。

@Bean
    public IntegrationFlow sftpInboundFlow() {
        prepareSftpServer();

        return IntegrationFlows
                .from(Sftp.inboundAdapter(this.sftpSessionFactory).getId("SftpInboundAdapter")
                                .preserveTimestamp(true)
                                .remoteDirectory("sftpSource")
                                .regexFilter(".*\\.txt$")
                                .localFilenameExpression("#this.toUpperCase() + '.a'").localDirectory(file).channel(MessageChannels.queue("sftpInboundResultChannel"))
                                .get());

    }

不確定getId()方法的編譯錯誤。 試圖從Java 8 lambda轉換為Java 7

我認為您想為您的組件添加一個id屬性,以便在應用程序上下文中使用該bean名稱注冊它。 您的配置必須如下所示:

return IntegrationFlows
                .from(Sftp.inboundAdapter(this.sftpSessionFactory)
                                .preserveTimestamp(true)
                                .remoteDirectory("sftpSource")
                                .regexFilter(".*\\.txt$")
                                .localFilenameExpression("#this.toUpperCase() + '.a'")
                                .localDirectory(file),
                        new Consumer<SourcePollingChannelAdapterSpec>() {

                            @Override
                            public void accept(SourcePollingChannelAdapterSpec e) {
                                e.id("SftpInboundAdapter");
                            }
                        })
                .channel(MessageChannels.queue("sftpInboundResultChannel"))
                .get();

沒有這樣的getId(String)方法。

是的,我將最終修復其JavaDocs,但您實際上遇到了編譯錯誤,因此使用了錯誤的語言。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM