クラス AbstractInboundFileSynchronizer<F>

java.lang.ObjectSE
org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizer<F>
型パラメーター:
F - リモートファイルを表す Type。
実装されたすべてのインターフェース:
CloseableSEAutoCloseableSEAwareBeanFactoryAwareBeanNameAwareInitializingBeanInboundFileSynchronizer
既知の直属サブクラス
FtpInboundFileSynchronizerSftpInboundFileSynchronizerSmbInboundFileSynchronizer

public abstract class AbstractInboundFileSynchronizer<F> extends ObjectSE implements InboundFileSynchronizer, BeanFactoryAware, BeanNameAware, InitializingBean, CloseableSE
リモートファイルシステムへの接続方法、新しいファイルのスキャン方法、ファイルのダウンロード方法を知ることを担当する基本クラス。

実装は、構成された FileListFilter を実行して、ファイルエントリが受け入れられることを確認する必要があります。

導入:
2.0
作成者:
Josh Long, Mark Fisher, Oleg Zhurakousky, Gary Russell, Artem Bilan
  • フィールドの詳細

    • EXPRESSION_PARSER

      protected static final ExpressionParser EXPRESSION_PARSER
    • logger

      protected final Log logger
  • コンストラクターの詳細

    • AbstractInboundFileSynchronizer

      public AbstractInboundFileSynchronizer(SessionFactory<F> sessionFactory)
      Session インスタンスの取得に使用される SessionFactory でシンクロナイザーを作成します。
      パラメーター:
      sessionFactory - セッションファクトリ。
  • メソッドの詳細

    • getComparator

      @Nullable protected ComparatorSE<? extends F> getComparator()
    • setComparator

      public void setComparator(@Nullable ComparatorSE<? extends F> comparator)
      フィルターと最大フェッチサイズを適用する前に、F (リモートファイルを表す型)の取得リストをソートするコンパレーターを設定します。
      パラメーター:
      comparator - コンパレータ。
      導入:
      5.1
    • setRemoteFileSeparator

      public void setRemoteFileSeparator(StringSE remoteFileSeparator)
      パラメーター:
      remoteFileSeparator - リモートファイル区切り。
      関連事項:
    • setLocalFilenameGeneratorExpression

      public void setLocalFilenameGeneratorExpression(Expression localFilenameGeneratorExpression)
      ローカルファイル名を決定するために使用される式を設定します。
      パラメーター:
      localFilenameGeneratorExpression - 表現。
    • setLocalFilenameGeneratorExpressionString

      public void setLocalFilenameGeneratorExpressionString(StringSE localFilenameGeneratorExpression)
      ローカルファイル名を決定するために使用される式を設定します。
      パラメーター:
      localFilenameGeneratorExpression - 表現。
      導入:
      4.3.13
      関連事項:
    • setTemporaryFileSuffix

      public void setTemporaryFileSuffix(StringSE temporaryFileSuffix)
      ファイルの転送中に使用する一時ファイルのサフィックスを設定します。デフォルトは ".writing"。
      パラメーター:
      temporaryFileSuffix - ファイルのサフィックス。
    • setRemoteDirectory

      public void setRemoteDirectory(StringSE remoteDirectory)
      リモートディレクトリへの絶対パスを指定します。
      パラメーター:
      remoteDirectory - リモートディレクトリ。
    • setRemoteDirectoryExpression

      public void setRemoteDirectoryExpression(Expression remoteDirectoryExpression)
      リモートディレクトリへの絶対パスに評価される式を指定します。
      パラメーター:
      remoteDirectoryExpression - リモートディレクトリ式。
      導入:
      4.2
    • setRemoteDirectoryExpressionString

      public void setRemoteDirectoryExpressionString(StringSE remoteDirectoryExpression)
      リモートディレクトリへの絶対パスに評価される式を指定します。
      パラメーター:
      remoteDirectoryExpression - リモートディレクトリ式。
      導入:
      4.3.13
      関連事項:
    • doSetRemoteDirectoryExpression

      protected final void doSetRemoteDirectoryExpression(Expression expression)
    • setFilter

      public void setFilter(@Nullable FileListFilter<F> filter)
      転送する前に、リモートファイルに適用されるフィルターを設定します。
      パラメーター:
      filter - ファイルリストフィルター。
    • doSetFilter

      protected final void doSetFilter(@Nullable FileListFilter<F> filterToSet)
    • setDeleteRemoteFiles

      public void setDeleteRemoteFiles(boolean deleteRemoteFiles)
      転送に成功した後、リモートファイルの削除を有効にするには、true に設定します。
      パラメーター:
      deleteRemoteFiles - 削除する場合は true。
    • setPreserveTimestamp

      public void setPreserveTimestamp(boolean preserveTimestamp)
      true に設定すると、転送時にリモートファイルのタイムスタンプの保存が有効になります。
      パラメーター:
      preserveTimestamp - 保存するために本当。
    • setRemoteFileMetadataStore

      public void setRemoteFileMetadataStore(MetadataStore remoteFileMetadataStore)
      MetadataStore がリモートファイル情報(ホスト、ポート、リモートディレクトリ)を保持するように構成し、ローカルファイルがプルされたときにメッセージヘッダーでダウンストリームを転送します。
      パラメーター:
      remoteFileMetadataStore - 使用する MetadataStore
      導入:
      5.2
    • setMetadataStorePrefix

      public void setMetadataStorePrefix(StringSE metadataStorePrefix)
      共有ストア内の他のキーと衝突しないメタデータストア内のキーのプレフィックスを指定します。
      パラメーター:
      metadataStorePrefix - 使用する接頭辞。
      導入:
      5.2
      関連事項:
    • setBeanFactory

      public void setBeanFactory(BeanFactory beanFactory) throws BeansException
      次で指定:
      インターフェース BeanFactoryAwaresetBeanFactory 
      例外:
      BeansException
    • setBeanName

      public void setBeanName(StringSE name)
      次で指定:
      インターフェース BeanNameAwaresetBeanName 
    • afterPropertiesSet

      public final void afterPropertiesSet()
      次で指定:
      インターフェース InitializingBeanafterPropertiesSet 
    • doInit

      protected void doInit()
      サブクラスは、InitializingBean.afterPropertiesSet() から呼び出される初期化を実行するためにオーバーライドできます。
    • filterFiles

      protected final ListSE<F> filterFiles(F[] files)
    • getTemporaryFileSuffix

      protected StringSE getTemporaryFileSuffix()
    • close

      public void close() throws IOExceptionSE
      次で指定:
      インターフェース AutoCloseableSEclose 
      次で指定:
      インターフェース CloseableSEclose 
      例外:
      IOExceptionSE
    • synchronizeToLocalDirectory

      public void synchronizeToLocalDirectory(FileSE localDirectory)
      インターフェースからコピーされた説明: InboundFileSynchronizer
      使用可能なすべてのファイルをローカルディレクトリに同期します。
      次で指定:
      インターフェース InboundFileSynchronizersynchronizeToLocalDirectory 
      パラメーター:
      localDirectory - ディレクトリ。
    • synchronizeToLocalDirectory

      public void synchronizeToLocalDirectory(FileSE localDirectory, int maxFetchSize)
      インターフェースからコピーされた説明: InboundFileSynchronizer
      最大 maxFetchSize ファイルをローカルディレクトリに同期します。
      次で指定:
      インターフェース InboundFileSynchronizersynchronizeToLocalDirectory 
      パラメーター:
      localDirectory - ディレクトリ。
      maxFetchSize - 取得するファイルの最大数
    • rollbackFromFileToListEnd

      protected void rollbackFromFileToListEnd(ListSE<F> filteredFiles, F file)
    • copyFileToLocalDirectory

      protected boolean copyFileToLocalDirectory(@Nullable StringSE remoteDirectoryPath, @Nullable EvaluationContext localFileEvaluationContext, F remoteFile, FileSE localDirectory, Session<F> session) throws IOExceptionSE
      例外:
      IOExceptionSE
    • getRemoteFileMetadata

      @Nullable public StringSE getRemoteFileMetadata(FileSE localFile)
      指定されたローカルファイルに関連付けられたリモートファイルのメタデータを取得します。
      パラメーター:
      localFile - メタデータを取得するローカルファイル。
      戻り値:
      URI スタイルの削除ファイルのメタデータ: protocol://host:port/remoteDirectory#remoteFileName
      導入:
      5.2
    • removeRemoteFileMetadata

      public void removeRemoteFileMetadata(FileSE localFile)
      指定されたローカルファイルに関連付けられているリモートファイルのメタデータを削除します。
      パラメーター:
      localFile - メタデータを削除するローカルファイル。
      導入:
      5.2
    • isFile

      protected abstract boolean isFile(F file)
    • getFilename

      protected abstract StringSE getFilename(F file)
    • getModified

      protected abstract long getModified(F file)
    • protocol

      protected abstract StringSE protocol()
      このシンクロナイザーが動作するプロトコルを返します。
      戻り値:
      このシンクロナイザが使用するプロトコル。
      導入:
      5.2