Bonjour,
J'ai fait un programme qui retire des noeuds en effetcuant des recherches XPath sur les noeuds à enlever.
Mon programme est composé des 3 grosses boucles for afin de retirer des noeuds de différentes catégories. Lorsque cet algorithme était contenu dans le thread principal il n'y avait jamais d'erreurs.
Afin d'optimiser mon programme j'ai décomposé cet algorithme en placant les chacune des 3 boucles dans un thread différents. Lorsque je lance l'execution du programme, je lance un thread maitre qui gère les 3 thread de l'algorithme. Dans les 3 threads de l'algo, il y en a 2 qui effectuent des opération XPath sur le même arbre et les dernier travail sur un arbre différent.
En générale, mon programme multi-threadé fonctionne correctement mais il arrive (1 fois sur 5) que l'exception suivante soit généré:
Un problème inconnu s'est produit dans le moteur XPath
Connaissez-vous un moyen de palier ce problème? (une option dans l'objet XPath)
ps: j'utilise Xerces et Xalan
Partager