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

公開コールバックの呼び出し

最終的な公開結果が使用可能になった時点でコールバックが呼び出されるようにするには、EventBus.publish コールの 2 番目のパラメーターとしてコールバッククラスのインスタンスを渡します。

最初に、コールバッククラスのインスタンスを作成します。たとえば、前に実装した FailureCallback クラスを使用します。

1FailureCallback cb = new FailureCallback();

次の公開コールは、イベントのリストを公開して、コールバックインスタンスを渡します。

1List<Database.SaveResult> results = EventBus.publish(eventList, cb);

次の公開コールは、1 つのイベントを公開して、コールバックインスタンスを渡します。

1Database.SaveResult sr = EventBus.publish(myEvent, cb);

コールバックの状況コード

EventBus.EventPublishFailureCallback または EventBus.EventPublishSuccessCallback のコールバックインスタンスを使用してイベントを公開し、公開コールが成功した場合、返される Database.SaveResult では、Database.ErrorStatusCode 項目に状況コード OPERATION_WITH_CALLBACK_ENQUEUED が含まれます。また、Message 項目には、イベントのユニバーサル一意識別子 (UUID) が返されます。

1Database.SaveResult[getErrors=(
2  Database.Error[
3  getFields=();
4  getMessage=d473406e-0922-432a-9088-b8c95ef8b548;
5  getStatusCode=OPERATION_WITH_CALLBACK_ENQUEUED;]
6  );
7  getId=e02xx0000000001AAA;
8  isSuccess=true;]

Salesforce 組織で Apex 公開コールバック機能が無効になっていても、コールバックを使用する EventBus.publish コールは依然として実行されます。ただし、コールバックは呼び出されません。また、返される状況コードは OPERATION_ENQUEUED になります。