0

我正在编写 sftp-integration-ftp 入站流代码以从 FTP 服务器读取文件,并希望确保如果我的服务的多个实例和从同一输入位置读取文件,那么只有一个处理来自输入目录的文件以避免重复。

代码:'''@Bean public SftpPersistentAcceptOnceFileListFilter getSftpPersistentAcceptOnceFileListFilter(final ConcurrentMetadataStore concurrentMetadataStore) { return new SftpPersistentAcceptOnceFileListFilter( concurrentMetadataStore,"INT_"); }

    @Bean
    public ConcurrentMetadataStore getConcurrentMetadataStore() {
        return new JdbcMetadataStore(jdbcTemplate);
    }
    
    @Bean
    @InboundChannelAdapter(value = "sftpISLChannel", poller = @Poller(fixedDelay = "30000", maxMessagesPerPoll = "-1"))
    public MessageSource<InputStream> sftpISLMessageSource(final SftpPersistentAcceptOnceFileListFilter sftpPersistentAcceptOnceFileListFilter) {
        ChainFileListFilter<ChannelSftp.LsEntry> chainFileListFilter = new ChainFileListFilter<>();
        chainFileListFilter.addFilter(getCustomOutboundFilter());
        chainFileListFilter.addFilter(sftpPersistentAcceptOnceFileListFilter);
        SftpStreamingMessageSource source = new SftpStreamingMessageSource(sftpRemoteFileTemplate, null);
        source.setRemoteDirectory(properties.getInputDir());
        //source.setFilter(getChainFileListFilter());
        source.setFilter(chainFileListFilter);
        return source;
    }

I'm using oracle DB.

So my questions are 
do I need to create the tables myself for JdbcMetadataStore ?

select * from INT_CHANNEL_MESSAGE;
select * from INT_GROUP_TO_MESSAGE;
select * from INT_LOCK;
select * from INT_MESSAGE;
select * from INT_MESSAGE_GROUP;
select * from INT_METADATA_STORE

Above Queries return 0 records
4

1 回答 1

0

已解决的问题

我的本地数据库配置问题

于 2021-02-24T07:59:27.713 回答