Actions jointes à des tâches Apex asynchrones à l'aide de finaliseurs de transaction (bêta)
Où : cette modification s’applique à Lightning Experience et à Salesforce Classic. Pour utiliser cette fonctionnalité bêta, il n'est pas nécessaire d'activer la fonctionnalité « Finaliseurs de transaction » dans des organisations tests. La fonctionnalité Finaliseurs de transaction n'est pas limitée aux organisations tests, peut être utilisée dans des organisations de production et sandbox, et peut être incluse dans des packages gérés.
- Méthode getAsyncApexJobId : Renvoie l'ID de la tâche Queueable pour laquelle ce finaliseur est défini.
- Méthode getRequestId : renvoie l'ID de requête partagé par l'exécution du finaliseur et la tâche Queueable à laquelle le finaliseur est joint. Cet ID partagé aide à filtrer les journaux d'une tâche Queueable et de son finaliseur joint.
- Méthode getResult : Renvoie l'énumération System.ParentJobResult, qui représente le résultat de la tâche Queueable asynchrone Apex parente à laquelle le finaliseur est joint. Les valeurs correctes pour l'énumération sont SUCCESS et UNHANDLED_EXCEPTION.
- Méthode getException : Renvoie l'exception avec laquelle la tâche Queueable a échoué lorsque getResult est UNHANDLED_EXCEPTION, sinon null.
Pour rejoindre des actions à vos tâches Queueable, vous devez implémenter l'interface FinalizerContext. Une seule instance finaliseur peut être jointe à une tâche Queueable. Vous pouvez mettre en file d'attente une seule tâche Apex asynchrone (Queueable, future ou batch) dans l'implémentation de la méthode execute du finaliseur. Les appels externes sont autorisés dans les implantations de finaliseur.
Pour plus d'informations sur l'implémentation de Finaliseurs de transaction, avec des exemples, consultez Transaction Finalizers (Beta) dans le Apex Developer Guide.

