Gérer des erreurs
Ce scénario s'applique uniquement à Talend Data Management Platform, Talend Big Data Platform, Talend Real-Time Big Data Platform, Talend MDM Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.
Le scénario suivant crée un Job à six composants expliquant comment gérer les conditions en erreur à l'aide du tHMap.
Lorsque le tHMap exécute un mapping Talend Data Mapper, un objet ExecutionStatus est toujours retourné. Un pointeur vers cet objet est stocké dans le globalMap en tant que <tHMap_id>_EXECUTION_STATUS. De plus, la valeur numérique de Overall Severity est également stockée dans le globalMap en tant que <tHMap_id>_EXECUTION_SEVERITY.
Un paramètre appelé Execution Threshold est défini, spécifiant la sévérité à partir de laquelle retourner une exception, déclenchant ainsi un processus de traitement d'erreurs lié au Job ou aux composants. Cette valeur peut être définie dans les propriétés du tHMap, dans l'onglet Advanced settings. La valeur par défaut pour ce paramètre est Fatal.
- getOverallSeverity() : retourne la valeur numérique du plus haut niveau de sévérité.
- INFO est retourné comme 1
- WARN est retourné comme 2
- ERROR est retourné comme 4
- FATAL est retourné comme 0x40
- isOK() : retourne true s'il n'y a aucun statut avertissement (warning), erreur (error) ou fatal.
- exportToXml(writer) : écrit les éléments de statut au format XML.
- getFirstNonInfo(): retourne un objet de classe org.talend.transform.runtime.common.StatusItem, qui correspond au premier élément de statut ayant une sévérité supérieure à INFO. Si tous les éléments ont le statut INFO, cette méthode retourne une valeur nulle.
Dans cet objet org.talend.transform.runtime.common.StatusItem, vous pouvez utiliser la méthode getAsText(), qui retourne une description de l'élément de statut sous forme de chaîne de caractères formatée et lisible par l'être humain.
- getItem(int_index) : retourne l'élément de statut à l'index donné, dans la collection d'éléments. L'index est de base zéro.
- getFirstNonInfoIndex() : retourne l'index du premier élément de statut ayant une sévérité supérieure à INFO dans la collection d'éléments. C'est l'index de l'élément que retournerait getFirstNonInfo(). Cette méthode retourne -1 s'il n'y a aucun élément ayant une sévérité supérieure à INFO.