Apex 公開コールバッククラス
イベント公開の失敗の追跡
非同期公開操作の失敗の最終結果を追跡するには、Apex クラスに EventBus.EventPublishFailureCallback インターフェースを実装します。実装では、公開が失敗した場合に実行するアクションを決定できます。たとえば、失敗をログに記録したり、イベントの再公開を試みたりすることができます。
1public class FailureCallback implements EventBus.EventPublishFailureCallback {
2
3 public void onFailure(EventBus.FailureResult result) {
4 // Your implementation.
5 // Get event UUIDs from the result
6 List<String> eventUuids = result.getEventUuids();
7 // ...
8 }
9}
10非同期の公開操作に失敗すると、onFailure メソッドが呼び出されます。実装した onFailure メソッドで、公開操作の最終的な結果に対応して機能するロジックを作成できます。onFailure メソッドでは、公開操作の結果である EventBus.FailureResult result を含むパラメータが使用されます。この結果には、失敗した各イベントの EventUuid 項目値が含まれますが、イベントのデータは含まれません。イベントのユニバーサル一意識別子 (UUID) を取得するには、getEventUuids メソッドを使用します。それぞれのイベント UUID は、イベントメッセージを識別する UUID です。
イベント公開の成功の追跡
非同期公開操作の成功の最終結果を追跡するには、Apex クラスに EventBus.EventPublishSuccessCallback インターフェースを実装します。ほとんどの公開コールは通常成功するため、成功イベント公開の処理は懸念にならない可能性があります。また、大量のイベントが公開に成功する可能性があるため、結果を処理するときはパフォーマンスや Apex の制限の影響に注意してください。
1public class SuccessCallback implements EventBus.EventPublishSuccessCallback {
2
3 public void onSuccess(EventBus.SuccessResult result) {
4 // Your implementation.
5 // Get event UUIDs from the result
6 List<String> eventUuids = result.getEventUuids();
7 // …
8 }
9}
10非同期の公開操作に成功すると、onSuccess メソッドが呼び出されます。実装した onSuccess メソッドで、公開操作の最終的な結果に対応して機能するロジックを作成できます。onSuccess メソッドでは、公開操作の結果である EventBus.SuccessResult result を含むパラメータが使用されます。この結果には、公開に成功した各イベントの EventUuid 項目値が含まれますが、イベントのデータは含まれません。イベントの UUID を取得するには、getEventUuids メソッドを使用します。それぞれのイベント UUID は、イベントメッセージを識別する UUID です。
1 回のコールバックでのイベント公開の失敗と成功の追跡
失敗した公開結果と成功した公開結果を 1 つの Apex クラスで処理することもできます。同じ Apex クラスに EventBus.EventPublishFailureCallback および EventBus.EventPublishSuccessCallback インターフェースを実装します。このインターフェースには、メソッドとして onFailure と onSuccess が含まれています。
1public class FailureAndSuccessCallback implements EventBus.EventPublishFailureCallback,
2 EventBus.EventPublishSuccessCallback {
3
4 public void onFailure(EventBus.FailureResult result) {
5 // Your implementation.
6 // Get event UUIDs from the result
7 List<String> eventUuids = result.getEventUuids();
8 // …
9 }
10
11 public void onSuccess(EventBus.SuccessResult result) {
12 // Your implementation.
13 // Get event UUIDs from the result
14 List<String> eventUuids = result.getEventUuids();
15 // …
16 }
17}
18