クラス ChunkMessageChannelItemWriter<T>

java.lang.ObjectSE
org.springframework.batch.integration.chunk.ChunkMessageChannelItemWriter<T>
実装されたすべてのインターフェース:
StepExecutionListenerStepListenerStepContributionSourceItemStreamItemWriter<T>

public class ChunkMessageChannelItemWriter<T> extends ObjectSE implements StepExecutionListener, ItemWriter<T>, ItemStream, StepContributionSource
  • フィールドの詳細

    • DEFAULT_THROTTLE_LIMIT

      protected static final long DEFAULT_THROTTLE_LIMIT
      関連事項:
    • messagingGateway

      protected org.springframework.integration.core.MessagingTemplate messagingGateway
    • localState

      protected final ChunkMessageChannelItemWriter.LocalState localState
    • throttleLimit

      protected long throttleLimit
    • DEFAULT_MAX_WAIT_TIMEOUTS

      protected final int DEFAULT_MAX_WAIT_TIMEOUTS
      関連事項:
    • maxWaitTimeouts

      protected int maxWaitTimeouts
    • replyChannel

      protected org.springframework.messaging.PollableChannel replyChannel
  • コンストラクターの詳細

    • ChunkMessageChannelItemWriter

      public ChunkMessageChannelItemWriter()
  • メソッドの詳細

    • setMaxWaitTimeouts

      public void setMaxWaitTimeouts(int maxWaitTimeouts)
      リモートワーカーからの null 以外の結果をステップの終わりに待機する最大回数。これは、ゲートウェイで個別に設定された受信タイムアウトの乗数です。理想的な値は、遅いワーカー時間の終了を許可することと、デッドワーカーが存在する場合の応答性との間の妥協点です。デフォルトは 40 です。
      パラメーター:
      maxWaitTimeouts - 待機タイムアウトの最大数
    • setThrottleLimit

      public void setThrottleLimit(long throttleLimit)
      スロットル制限のパブリック setter。これにより、チャンク処理の保留中のリクエストの数が制限され、レシーバーがオーバーロードにならないようにします。
      パラメーター:
      throttleLimit - 設定するスロットル制限
    • setMessagingOperations

      public void setMessagingOperations(org.springframework.integration.core.MessagingTemplate messagingGateway)
    • setReplyChannel

      public void setReplyChannel(org.springframework.messaging.PollableChannel replyChannel)
    • write

      public void write(Chunk<? extends T> items) throws ExceptionSE
      インターフェースからコピーされた説明: ItemWriter
      指定されたデータ要素を処理します。通常の操作では null アイテムで呼び出されません。
      次で指定:
      インターフェース ItemWriter<T>write 
      パラメーター:
      items - 書きこまれる項目。null であってはなりません。
      例外:
      ExceptionSE - エラーがある場合。フレームワークは例外をキャッチし、必要に応じて変換または再スローします。
    • beforeStep

      public void beforeStep(StepExecution stepExecution)
      インターフェースからコピーされた説明: StepExecutionListener
      現在のスコープの StepExecution を使用して、リスナーの状態を初期化します。
      次で指定:
      インターフェース StepExecutionListenerbeforeStep 
      パラメーター:
      stepExecution - StepExecution のインスタンス。
    • afterStep

      @Nullable public ExitStatus afterStep(StepExecution stepExecution)
      インターフェースからコピーされた説明: StepExecutionListener
      リスナーにステップの終了ステータスを変更する機会を与えます。返された値は、ExitStatus.and(ExitStatus) を使用して通常の終了ステータスと結合されます。

      ステップの処理ロジックの実行後に (成功または失敗に関係なく) 呼び出されます。このメソッドで例外をスローしても、ログに記録されるだけなので効果はありません。

      次で指定:
      インターフェース StepExecutionListenerafterStep 
      パラメーター:
      stepExecution - StepExecution インスタンス。
      戻り値:
      通常の値と組み合わせる ExitStatus。古い値を変更しない場合は、null (デフォルト) を返します。
    • close

      public void close() throws ItemStreamException
      インターフェースからコピーされた説明: ItemStream
      ストリームの動作にリソースが必要な場合、ここで破棄する必要があります。このメソッドが呼び出されると、他のすべてのメソッド(open を除く)は例外をスローする場合があります。
      次で指定:
      インターフェース ItemStreamclose 
      例外:
      ItemStreamException
    • open

      public void open(ExecutionContext executionContext) throws ItemStreamException
      インターフェースからコピーされた説明: ItemStream
      提供された ExecutionContext のストリームを開きます。
      次で指定:
      インターフェース ItemStreamopen 
      パラメーター:
      executionContext - 現在のステップの ExecutionContext 再起動時のステップの最後の実行からの executionContext になります。
      例外:
      ItemStreamException
    • update

      public void update(ExecutionContext executionContext) throws ItemStreamException
      インターフェースからコピーされた説明: ItemStream
      オープン中に提供された実行コンテキストが保存されようとしていることを示します。状態が残っているが、コンテキストに入れられていない場合は、ここに追加する必要があります。
      次で指定:
      インターフェース ItemStreamupdate 
      パラメーター:
      executionContext - 更新される
      例外:
      ItemStreamException
    • getStepContributions

      public CollectionSE<StepContribution> getStepContributions()
      インターフェースからコピーされた説明: StepContributionSource
      現在利用可能なコントリビューションを取得し、ソースをドレインします。新しいコントリビュートが到着しない限り、次の呼び出しは空のコレクションを返します。
      次で指定:
      インターフェース StepContributionSourcegetStepContributions 
      戻り値:
      StepContribution インスタンスのコレクション
    • waitForResults

      protected boolean waitForResults() throws AsynchronousFailureException
      パイプラインにあるすべての結果が応答チャネルに返されるまで待ちます。
      戻り値:
      結果を正常に受信した場合は true、タイムアウトした場合は false
      例外:
      AsynchronousFailureException
    • getNextResult

      protected void getNextResult() throws AsynchronousFailureException
      次の結果が利用可能であれば (ゲートウェイで指定されたタイムアウト内で) 取得し、それ以外の場合は何もしません。
      例外:
      AsynchronousFailureException - レスポンスがあり、失敗したチャンクレスポンスが含まれている場合。
      IllegalStateExceptionSE - 結果に間違ったジョブインスタンス ID が含まれている場合 (チャンネルを共有しているかもしれませんが、そうすべきではありません)
    • wrapIfNecessary

      protected static AsynchronousFailureException wrapIfNecessary(ThrowableSE throwable)
      元の throwable がチェックされていない場合は再スローし、チェックされた例外を AsynchronousFailureException にラップします。