AsyncCondition インターフェース
名前空間
使用方法
トランザクションセキュリティポリシー条件を実装したクラスで非同期 Apex コールを実行する場合は、TxnSecurity.EventCondition のほかに TxnSecurity.AsyncCondition インターフェースをクラスに実装する必要があります。トランザクションセキュリティ Apex ポリシーで許可されない Apex コールアウトおよび DML ステートメントの代わりに、非同期 Apex を使用します。
Apex では、さまざまな方法で Apex コードの非同期実行が可能です。TxnSecurity.AsyncCondition インターフェースでは、これらのすべての方法がサポートされています。
このインターフェースには、メソッドはありません。
AsyncCondition の実装例
TxnSecurity.AsyncCondition インターフェースの実装例を次に示します。ユーザがログインすると、トランザクションセキュリティポリシーがトリガされます。この���の場合、ExternalValidation__c は、外部検証システムからの情報を含むカスタムオブジェクトです。ExternalValidation__c に対する SOQL クエリの結果によって、ユーザのログインをブロックするかどうかが決定されます。次にこのポリシーにより、CalloutToExternalValidator クラスが非同期実行のためにキューに入れられます。CalloutToExternalValidator クラスを実行すると、検証システムに対する外部コールが実行され、イベントのこのログに関する情報でクラスが更新されます。CalloutToExternalValidator は、非同期 Apex によってトリガされます。そのため、ExternallyValidatedLoginCondition Apex クラスには、通常の TxnSecurity.EventCondition インターフェースとともに、TxnSecurity.AsyncCondition インターフェースを実装する必要があります。