クラス ChunkMessageChannelItemWriter<T>
java.lang.ObjectSE
org.springframework.batch.integration.chunk.ChunkMessageChannelItemWriter<T>
- 実装されたすべてのインターフェース:
StepExecutionListener
、StepListener
、StepContributionSource
、ItemStream
、ItemWriter<T>
public class ChunkMessageChannelItemWriter<T>
extends ObjectSE
implements StepExecutionListener, ItemWriter<T>, ItemStream, StepContributionSource
ネストされたクラスのサマリー
フィールドサマリー
修飾子と型フィールド説明protected final int
protected static final long
protected final ChunkMessageChannelItemWriter.LocalState
protected int
protected org.springframework.integration.core.MessagingTemplate
protected org.springframework.messaging.PollableChannel
protected long
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明afterStep
(StepExecution stepExecution) リスナーにステップの終了ステータスを変更する機会を与えます。void
beforeStep
(StepExecution stepExecution) 現在のスコープのStepExecution
を使用して、リスナーの状態を初期化します。void
close()
ストリームの動作にリソースが必要な場合、ここで破棄する必要があります。protected void
次の結果が利用可能であれば (ゲートウェイで指定されたタイムアウト内で) 取得し、それ以外の場合は何もしません。現在利用可能なコントリビューションを取得し、ソースをドレインします。void
open
(ExecutionContext executionContext) 提供されたExecutionContext
のストリームを開きます。void
setMaxWaitTimeouts
(int maxWaitTimeouts) リモートワーカーからの null 以外の結果をステップの最後で待機する最大回数。void
setMessagingOperations
(org.springframework.integration.core.MessagingTemplate messagingGateway) void
setReplyChannel
(org.springframework.messaging.PollableChannel replyChannel) void
setThrottleLimit
(long throttleLimit) スロットル制限のパブリック setter。void
update
(ExecutionContext executionContext) オープン中に提供された実行コンテキストが保存されようとしていることを示します。protected boolean
パイプラインにあるすべての結果が応答チャネルに返されるまで待ちます。protected static AsynchronousFailureException
wrapIfNecessary
(ThrowableSE throwable) 元の throwable がチェックされていない場合は再スローし、チェックされた例外をAsynchronousFailureException
にラップします。void
指定されたデータ要素を処理します。
フィールドの詳細
DEFAULT_THROTTLE_LIMIT
protected static final long DEFAULT_THROTTLE_LIMIT- 関連事項:
messagingGateway
protected org.springframework.integration.core.MessagingTemplate messagingGatewaylocalState
throttleLimit
protected long throttleLimitDEFAULT_MAX_WAIT_TIMEOUTS
protected final int DEFAULT_MAX_WAIT_TIMEOUTS- 関連事項:
maxWaitTimeouts
protected int maxWaitTimeoutsreplyChannel
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
インターフェースからコピーされた説明:ItemWriter
指定されたデータ要素を処理します。通常の操作では null アイテムで呼び出されません。- 次で指定:
- インターフェース
ItemWriter<T>
のwrite
- パラメーター:
items
- 書きこまれる項目。null
であってはなりません。- 例外:
ExceptionSE
- エラーがある場合。フレームワークは例外をキャッチし、必要に応じて変換または再スローします。
beforeStep
インターフェースからコピーされた説明:StepExecutionListener
現在のスコープのStepExecution
を使用して、リスナーの状態を初期化します。- 次で指定:
- インターフェース
StepExecutionListener
のbeforeStep
- パラメーター:
stepExecution
-StepExecution
のインスタンス。
afterStep
インターフェースからコピーされた説明:StepExecutionListener
リスナーにステップの終了ステータスを変更する機会を与えます。返された値は、ExitStatus.and(ExitStatus)
を使用して通常の終了ステータスと結合されます。ステップの処理ロジックの実行後に (成功または失敗に関係なく) 呼び出されます。このメソッドで例外をスローしても、ログに記録されるだけなので効果はありません。
- 次で指定:
- インターフェース
StepExecutionListener
のafterStep
- パラメーター:
stepExecution
-StepExecution
インスタンス。- 戻り値:
- 通常の値と組み合わせる
ExitStatus
。古い値を変更しない場合は、null
(デフォルト) を返します。
close
インターフェースからコピーされた説明:ItemStream
ストリームの動作にリソースが必要な場合、ここで破棄する必要があります。このメソッドが呼び出されると、他のすべてのメソッド(open を除く)は例外をスローする場合があります。- 次で指定:
- インターフェース
ItemStream
のclose
- 例外:
ItemStreamException
open
インターフェースからコピーされた説明:ItemStream
提供されたExecutionContext
のストリームを開きます。- 次で指定:
- インターフェース
ItemStream
のopen
- パラメーター:
executionContext
- 現在のステップのExecutionContext
。再起動時のステップの最後の実行からの executionContext になります。- 例外:
ItemStreamException
update
インターフェースからコピーされた説明:ItemStream
オープン中に提供された実行コンテキストが保存されようとしていることを示します。状態が残っているが、コンテキストに入れられていない場合は、ここに追加する必要があります。- 次で指定:
- インターフェース
ItemStream
のupdate
- パラメーター:
executionContext
- 更新される- 例外:
ItemStreamException
getStepContributions
インターフェースからコピーされた説明:StepContributionSource
現在利用可能なコントリビューションを取得し、ソースをドレインします。新しいコントリビュートが到着しない限り、次の呼び出しは空のコレクションを返します。- 次で指定:
- インターフェース
StepContributionSource
のgetStepContributions
- 戻り値:
StepContribution
インスタンスのコレクション
waitForResults
パイプラインにあるすべての結果が応答チャネルに返されるまで待ちます。- 戻り値:
- 結果を正常に受信した場合は true、タイムアウトした場合は false
- 例外:
AsynchronousFailureException
getNextResult
次の結果が利用可能であれば (ゲートウェイで指定されたタイムアウト内で) 取得し、それ以外の場合は何もしません。- 例外:
AsynchronousFailureException
- レスポンスがあり、失敗したチャンクレスポンスが含まれている場合。IllegalStateExceptionSE
- 結果に間違ったジョブインスタンス ID が含まれている場合 (チャンネルを共有しているかもしれませんが、そうすべきではありません)
wrapIfNecessary
元の throwable がチェックされていない場合は再スローし、チェックされた例外をAsynchronousFailureException
にラップします。