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/.."로 인해 상대 경로가 허용되지 않습니다 @ 27 예외. –

+0

org.springframework.integration.zookeeper.metadata.ZookeeperMetadataStoreException : '..'을 설정하는 중 오류가 발생했습니다. –

+0

완전히 다른, 관련없는 문제입니다. 새로운 질문을하고 전체 스택 추적을 보여줄 것을 제안합니다. –