この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Newer Version Available

This content describes an older version of this product. View Latest

TriggerContext クラス

現在実行されているプラットフォームイベントトリガに関する情報を提供します (EventBus.RetryableException によるトリガの再試行回数など)。また、トリガ実行を再開する方法も提供します。

名前空間

EventBus

TriggerContext のプロパティ

TriggerContext のプロパティは次のとおりです。

lastError

参照のみ。最後に発生した EventBus.RetryableException に含まれるエラーメッセージ。

署名

public String lastError {get;}

プロパティ値

型: String

使用方法

このプロパティが返すエラーメッセージは、EventBus.RetryableException 例外の作成時に次のように渡されたメッセージです。

1throw new EventBus.RetryableException(
2             'Condition is not met, so retrying the trigger again.');

retries

参照のみ。EventBus.RetryableException の発生が原因でトリガが再試行された回数。

署名

public Integer retries {get;}

プロパティ値

型: Integer

TriggerContext のメソッド

TriggerContext のメソッドは次のとおりです。

currentContext()

現在実行されているトリガに関する情報が含まれる EventBus.TriggerContext クラスのインスタンスを返します。

署名

public static eventbus.TriggerContext currentContext()

戻り値

型: EventBus.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);