0

zookeeper.butを使用してsftp:inbound-streaming-channel-adapterを使用しましたが、java.lang.ClassCastException:com .jcraft.jsch.ChannelSftp $ LsEntryはjava.io.Fileにキャストできません。私はorg.springframework.integration.sftp.filters.SftpRegexPatternFileListFilterをする必要があり、次のコードsftp:私がCompositeFileListFilterを使用すると、zookeeperを持つインバウンドストリーミングチャネルアダプタが動作しない

<int-sftp:inbound-streaming-channel-adapter 
    id="sftpAdapter" channel="receiveChannel" 
    session-factory="cachingSessionFactory" 
    remote-file-separator="/" remote-directory-expression="'${ftpServerLoc}'" filter="compositeFilter" 
    auto-startup="true"> 
    <int:poller fixed-rate="${pollarInterval}" 
     max-messages-per-poll="1" /> 
</int-sftp:inbound-streaming-channel-adapter> 

    <beans:bean id="compositeFilter" 
    class="org.springframework.integration.file.filters.CompositeFileListFilter"> 
    <beans:constructor-arg> 
     <beans:list> 
      <beans:bean 
       class="org.springframework.integration.file.filters.RegexPatternFileListFilter"> 
       <beans:constructor-arg value="^.*\.(dat|DAT)$" /> 

      </beans:bean> 
      <beans:bean 
       class="org.springframework.integration.sftp.filters.SftpPersistentAcceptOnceFileListFilter"> 
       <beans:constructor-arg name="store" 
        ref="metadataStore" /> 
       <beans:constructor-arg value="" /> 
      </beans:bean> 
     </beans:list> 
    </beans:constructor-arg> 
</beans:bean> 

答えて

1

org.springframework.integration.file.filters.RegexPatternFileListFilterを使用しています。

java.io.Fileに該当するもの。 sftpのバージョンはLsEntry(リモートファイルのJschの表現)に適用されます。

+0

しかし、現在、java.lang.IllegalArgumentExceptionが発生しています。相対パスによって無効なパス文字列 "/ metaDataStore/.."が許可されません。 –

+0

org.springframework.integration.zookeeper.metadata.ZookeeperMetadataStoreException: '..'を設定しようとしているときにエラーが発生しました –

+0

これは、まったく異なる、関係のない問題です。新しい質問をして、完全なスタックトレースを表示することをお勧めします。 –

関連する問題