TriggerContext クラス
現在実行されているプラットフォームイベントトリガーに関する情報を提供します (EventBus.RetryableException によるトリガーの再試行回数など)。また、トリガー実行を再開する方法も提供します。
名前空間
TriggerContext のプロパティ
TriggerContext のプロパティは次のとおりです。
lastError
署名
public String lastError {get;}
プロパティ値
型: String
使用方法
このプロパティが返すエラーメッセージは、EventBus.RetryableException 例外の作成時に次のように渡されたメッセージです。
1throw new EventBus.RetryableException(
2 'Condition is not met, so retrying the trigger again.');TriggerContext のメソッド
TriggerContext のメソッドは次のとおりです。
getResumeCheckpoint()
setResumeCheckpoint() によって設定された再実行 ID を返します。返された値は、イベントメッセージの再実行 ID で、このイベントメッセージの後にトリガー処理が新しいトリガー呼び出しで再開します。
署名
public String getResumeCheckpoint()
戻り値
型: String
setResumeCheckpoint(resumeReplayId)
イベントストリーミング内にチェックポイントを設定します。このチェックポイントで、プラットフォームイベントトリガーが新しい呼び出しで再開します。このメソッドを使用して、制限に関する例外やキャッチされなかった例外から回復したり、1 つのトリガー実行で処理されるイベント数を制御したりします。このメソッドをコールするときは、最後に正常に処理されたイベントメッセージの再実行 ID を渡します。例外がキャッチされなかったためか、意図的に、Trigger.New のすべてのイベントが処理される前にトリガーが実行を停止した場合、トリガーは再度呼び出されます。新しい実行は、ストリーム内のチェックポイントが設定された再実行 ID を持つイベントメッセージの後のイベントメッセージから開始します。
署名
public void setResumeCheckpoint(String resumeReplayId)
パラメーター
- resumeReplayId
- 型: String
- 最後に正常に処理されたプラットフォームイベントメッセージの再実行 ID。その後に新しいトリガー実行コンテキストで処理を再開することになります。
戻り値
型: void
使用方法
この方法では、指定された再実行 ID が有効でない場合、EventBus.InvalidReplayIdException が発生します。再実行 ID ��、Trigger.new リストのイベントの現在のトリガーバッチにありません。
例
次のスニペットは、メソッドをコールしてイベントインスタンスの replayId プロパティで渡す方法を示しています。
1EventBus.TriggerContext.currentContext().setResumeCheckpoint(event.replayId);