クラス RemoteFileTemplate<F>

java.lang.ObjectSE
org.springframework.integration.file.remote.RemoteFileTemplate<F>
型パラメーター:
F - ファイル型。
実装されたすべてのインターフェース:
AwareBeanFactoryAwareInitializingBeanRemoteFileOperations<F>
既知の直属サブクラス
FtpRemoteFileTemplateSftpRemoteFileTemplateSmbRemoteFileTemplate

public class RemoteFileTemplate<F> extends ObjectSE implements RemoteFileOperations<F>, InitializingBean, BeanFactoryAware
リモートファイルを扱うための一般的な抽象概念。
導入:
3.0
作成者:
Iwein Fuld, Mark Fisher, Josh Long, Oleg Zhurakousky, David Turanski, Gary Russell, Artem Bilan, Alen Turkovic
  • フィールドの詳細

    • logger

      protected final Log logger
    • sessionFactory

      protected final SessionFactory<F> sessionFactory
      リモートファイルセッションを取得するための SessionFactory
  • コンストラクターの詳細

    • RemoteFileTemplate

      public RemoteFileTemplate(SessionFactory<F> sessionFactory)
      提供されたセッションファクトリで RemoteFileTemplate を構築します。
      パラメーター:
      sessionFactory - セッションファクトリ。
  • メソッドの詳細

    • getSessionFactory

      public SessionFactory<F> getSessionFactory()
      戻り値:
      このテンプレートの SessionFactory
      導入:
      4.2
    • setAutoCreateDirectory

      public void setAutoCreateDirectory(boolean autoCreateDirectory)
      ファイルをリモートシステムに送信するときに、リモートディレクトリを自動的に作成するかどうかを決定します。
      パラメーター:
      autoCreateDirectory - ディレクトリを作成する場合は true。
    • setRemoteFileSeparator

      public void setRemoteFileSeparator(StringSE remoteFileSeparator)
      リモートファイルを処理するときにファイル区切り文字を設定します。デフォルト '/'。
      パラメーター:
      remoteFileSeparator - セパレータ。
    • getRemoteFileSeparator

      public final StringSE getRemoteFileSeparator()
      戻り値:
      リモートファイル区切り。
    • setRemoteDirectoryExpression

      public void setRemoteDirectoryExpression(Expression remoteDirectoryExpression)
      ファイルの送信先となるリモートディレクトリの判別に使用されるリモートディレクトリ式を設定します。
      パラメーター:
      remoteDirectoryExpression - リモートディレクトリ式。
    • getDirectoryExpressionProcessor

      @Nullable public MessageProcessor<StringSE> getDirectoryExpressionProcessor()
      リモートディレクトリ SpEL 式のプロセッサーがあれば、それを返します。
      戻り値:
      リモートディレクトリ SpEL 式のプロセッサー。
    • setTemporaryRemoteDirectoryExpression

      public void setTemporaryRemoteDirectoryExpression(Expression temporaryRemoteDirectoryExpression)
      一時的なリモートディレクトリ式を設定します。ファイルをリモートシステムに転送するときに使用されます。転送に成功すると、remoteDirectoryExpression を使用してファイルの名前が変更されます。
      パラメーター:
      temporaryRemoteDirectoryExpression - 一時的なリモートディレクトリ式。
    • setFileNameExpression

      public void setFileNameExpression(Expression fileNameExpression)
      ファイル名の式を設定して、get(Message, InputStreamCallback) メソッドを使用してファイルを取得するときにリモートファイルへのフルパスを決定します。メッセージは評価のルートオブジェクトです。
      パラメーター:
      fileNameExpression - ファイル名式。
    • getTemporaryFileSuffix

      public StringSE getTemporaryFileSuffix()
      戻り値:
      一時ファイルのサフィックス。
    • isUseTemporaryFileName

      public boolean isUseTemporaryFileName()
      戻り値:
      リモートシステムにファイルを送信するときに一時ファイル名が使用されるかどうか。
    • setUseTemporaryFileName

      public void setUseTemporaryFileName(boolean useTemporaryFileName)
      リモートシステムにファイルを送信するときに一時ファイル名を使用するかどうかを設定します。
      パラメーター:
      useTemporaryFileName - 一時ファイル名を使用する場合は true。
      関連事項:
    • setFileNameGenerator

      public void setFileNameGenerator(FileNameGenerator fileNameGenerator)
      ファイルをリモートシステムに転送するときに使用されるリモートファイル名の生成に使用されるファイル名ジェネレーターを設定します。デフォルト DefaultFileNameGenerator
      パラメーター:
      fileNameGenerator - ファイル名ジェネレーター。
    • setCharset

      public void setCharset(StringSE charset)
      文字列ペイロードをリモートファイルのコンテンツとしてバイトに変換するときに使用する文字セットを設定します。デフォルト UTF-8
      パラメーター:
      charset - 文字セット。
    • setTemporaryFileSuffix

      public void setTemporaryFileSuffix(StringSE temporaryFileSuffix)
      ファイルをリモートシステムに転送するときに使用する一時的なサフィックスを設定します。デフォルトの ".writing"。
      パラメーター:
      temporaryFileSuffix - 接尾辞
      関連事項:
    • setBeanFactory

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

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

      public StringSE append(Message<?> message)
      インターフェースからコピーされた説明: RemoteFileOperations
      メッセージの情報に基づいて、ファイルをリモートサーバーに追加します。
      次で指定:
      インターフェース RemoteFileOperations<F>append 
      パラメーター:
      message - メッセージ。
      戻り値:
      リモートパス。ローカルファイルが見つからなかった場合は null。
    • append

      public StringSE append(Message<?> message, StringSE subDirectory)
      インターフェースからコピーされた説明: RemoteFileOperations
      メッセージの情報に基づいて、ファイルをリモートサーバーに追加します。subDirectory は、メッセージから評価されたリモートディレクトリに追加されます。
      次で指定:
      インターフェース RemoteFileOperations<F>append 
      パラメーター:
      message - メッセージ。
      subDirectory - サブディレクトリ。
      戻り値:
      リモートパス。ローカルファイルが見つからなかった場合は null。
    • send

      public StringSE send(Message<?> message, FileExistsMode... mode)
      インターフェースからコピーされた説明: RemoteFileOperations
      メッセージ内の情報に基づいて、リモートサーバーにファイルを送信します。
      次で指定:
      インターフェース RemoteFileOperations<F>send 
      パラメーター:
      message - メッセージ。
      mode - FileExistsMode(オプション ; デフォルト REPLACE)を参照してください。引数をオプションにするために可変引数が使用されます。複数が提供されている場合は、最初のもののみが使用されます。
      戻り値:
      リモートパス。ローカルファイルが見つからなかった場合は null。
    • send

      public StringSE send(Message<?> message, StringSE subDirectory, FileExistsMode... mode)
      インターフェースからコピーされた説明: RemoteFileOperations
      メッセージ内の情報に基づいて、リモートサーバーにファイルを送信します。subDirectory は、メッセージから評価されたリモートディレクトリに追加されます。
      次で指定:
      インターフェース RemoteFileOperations<F>send 
      パラメーター:
      message - メッセージ。
      subDirectory - サブディレクトリ。
      mode - FileExistsMode(オプション ; デフォルト REPLACE)を参照してください。引数をオプションにするために可変引数が使用されます。複数が提供されている場合は、最初のもののみが使用されます。
      戻り値:
      リモートパス。ローカルファイルが見つからなかった場合は null。
    • exists

      public boolean exists(StringSE path)
      インターフェースからコピーされた説明: RemoteFileOperations
      リモートサーバーにファイルが存在するかどうかを確認します。
      次で指定:
      インターフェース RemoteFileOperations<F>exists 
      パラメーター:
      path - ファイルへのフルパス。
      戻り値:
      ファイルが存在する場合は true。
    • remove

      public boolean remove(StringSE path)
      インターフェースからコピーされた説明: RemoteFileOperations
      リモートファイルを削除します。
      次で指定:
      インターフェース RemoteFileOperations<F>remove 
      パラメーター:
      path - ファイルへのフルパス。
      戻り値:
      成功した場合は true。
    • rename

      public void rename(StringSE fromPath, StringSE toPath)
      インターフェースからコピーされた説明: RemoteFileOperations
      リモートファイルの名前を変更し、必要に応じてディレクトリを作成します。
      次で指定:
      インターフェース RemoteFileOperations<F>rename 
      パラメーター:
      fromPath - 現在のパス。
      toPath - 新しいパス。
    • get

      public boolean get(Message<?> message, InputStreamCallback callback)
      インターフェースからコピーされた説明: RemoteFileOperations
      メッセージ内の情報に基づいて、リモートファイルを InputStream として取得します。
      次で指定:
      インターフェース RemoteFileOperations<F>get 
      パラメーター:
      message - リモートパスを生成するために評価されるメッセージ。
      callback - コールバック。
      戻り値:
      操作が成功した場合は true。
      関連事項:
    • get

      public boolean get(StringSE remotePath, InputStreamCallback callback)
      インターフェースからコピーされた説明: RemoteFileOperations
      リモートファイルを InputStream として取得します。
      次で指定:
      インターフェース RemoteFileOperations<F>get 
      パラメーター:
      remotePath - ファイルへのリモートパス。
      callback - コールバック。
      戻り値:
      操作が成功した場合は true。
    • list

      public F[] list(StringSE path)
      インターフェースからコピーされた説明: RemoteFileOperations
      リモートパスのファイルをリストします。
      次で指定:
      インターフェース RemoteFileOperations<F>list 
      パラメーター:
      path - パス。
      戻り値:
      リスト。
    • getSession

      public Session<F> getSession()
      インターフェースからコピーされた説明: RemoteFileOperations
      生の Session オブジェクトを取得します。ユーザーは、不要になったセッションを閉じる必要があります。
      次で指定:
      インターフェース RemoteFileOperations<F>getSession 
      戻り値:
      セッション。
    • execute

      public <T> T execute(SessionCallback<F,T> callback)
      インターフェースからコピーされた説明: RemoteFileOperations
      セッションを取得した後、コールバックの doInSession メソッドを実行します。メソッドの終了時に確実にセッションを閉じます。
      次で指定:
      インターフェース RemoteFileOperations<F>execute 
      型パラメーター:
      T - SessionCallback.doInSession(org.springframework.integration.file.remote.session.Session) によって返される型。
      パラメーター:
      callback - SessionCallback。
      戻り値:
      コールバックメソッドの結果。
    • shouldMarkSessionAsDirty

      protected boolean shouldMarkSessionAsDirty(ExceptionSE ex)
      コールバックから例外がスローされたときに、execute(SessionCallback)Session.dirty() を呼び出す必要があるかどうかを決定します。デフォルトでは、このメソッドは true を返します。リモートファイルプロトコル拡張機能は、このメソッドをオーバーライドして、スローされた例外に対する特定の戦略を提供できます。file not found エラーは、セッションが切断されたことを示す信号ではありません。
      パラメーター:
      ex - Session をダーティとしてマークする必要があるかどうかをチェックする例外。
      戻り値:
      Session.dirty() を呼び出す必要がある場合は true。
      導入:
      6.0.8
    • invoke

      public <T> T invoke(RemoteFileOperations.OperationsCallback<F,T> action)
      インターフェースからコピーされた説明: RemoteFileOperations
      コールバックを呼び出して、専用のスレッドバインドセッションでテンプレート引数のすべての操作を実行し、その後確実に閉じます。
      次で指定:
      インターフェース RemoteFileOperations<F>invoke 
      型パラメーター:
      T - 戻り値の型。
      パラメーター:
      action - コールバック。
      戻り値:
      RemoteFileOperations.OperationsCallback.doInOperations(RemoteFileOperations) からの結果
    • executeWithClient

      public <T, C> T executeWithClient(ClientCallback<C,T> callback)
      インターフェースからコピーされた説明: RemoteFileOperations
      セッションのクライアントを取得した後、コールバックの doWithClient メソッドを実行し、低レベルのメソッドへのアクセスを提供します。メソッドの終了時に確実にセッションを閉じます。
      次で指定:
      インターフェース RemoteFileOperations<F>executeWithClient 
      型パラメーター:
      T - ClientCallback.doWithClient(Object) によって返される型。
      C - 基礎となるクライアントオブジェクトの型。
      パラメーター:
      callback - ClientCallback。
      戻り値:
      コールバックメソッドの結果。