[RÉSOLU] Route avec cTalendJob - Arrêt inattendu sur Runtime sans erreur

NKH
Messages : 5
Inscription : 13 déc. 2024, 17:18

[RÉSOLU] Route avec cTalendJob - Arrêt inattendu sur Runtime sans erreur

Message par NKH »

Bonjour,
Lors de la migration d'une route qui appelle un cTalendJob vers Talend Data Services 8.0.1, J’ai rencontré ce problème.

Description du problème :
La route récupère un message depuis ActiveMQ et démarre un cTalendJob.
  • Sur le Studio : La route s'exécute parfaitement sans aucune erreur
  • Sur le Runtime : La route démarre correctement, récupère le message d'ActiveMQ et lance le cTalendJob, mais celui-ci s'arrête brutalement au milieu de son exécution (juste après un composant tJava), sans aucun message d'erreur
Analyse :
Après investigation des logs du runtime de développement, voici ce qui a été identifié :
  • Une exception de type NoClassDefFoundError pour la classe org.apache.avro.AvroTypeException
  • Vérifications effectuées :
    • Le fichier KAR de la route construit à partir du Studio ne contient pas le jar org.apache.avro
    • Au niveau du Runtime, la commande bundle:find-class AvroTypeException ne retourne rien, confirmant l'absence de la classe
SOLUTION :
Installer la fonctionnalité talend-data-mapper sur le Runtime, car elle contient la classe manquante :

Code : Tout sélectionner

feature:install talend-data-mapper
Après cette installation, la route fonctionne correctement.

Explication :
Cette dépendance manquante n'est pas automatiquement incluse dans le KAR de la route lors du build depuis le Studio, et doit être installée manuellement sur le Runtime.

Point important : Ce type de problème peut être difficile à diagnostiquer car l'arrêt du job se fait sans message d'erreur explicite. Il est donc recommandé de vérifier systématiquement les logs détaillés du Runtime en cas d'arrêt inexpliqué d'un job.

J'espère que cette solution aidera d'autres personnes confrontées à des arrêts silencieux de routes sur le Runtime !
Répondre