Accéder au contenu principal Passer au contenu complémentaire

Débogage des problèmes de transaction

Availability-noteDéprécié·e
Vous pouvez utiliser n'importe quelle opération suivante pour déboguer des problèmes de transaction.

Lister les transactions actives

Si vous activez la catégorie Log4j com.amalto.core.server, le serveur affichera toutes les 20 secondes le nombre de transactions actives gérées actuellement et toutes les transactions actives avec leurs identifiants.

Modifier le niveau de log de la transaction MDM pour déboguer

Modifiez le fichier <MDM_ROOT>conf/log4j.xml et assurez-vous que la configuration suivante existe :

<category name="com.amalto.core.server.MDMTransaction">
   <priority value="DEBUG"/>
</category>

Dans ce mode, MDM traque les créations des transactions et fournit plus d'informations sur les transactions problématiques lorsqu'elles sont détectées.

Ajouter le filtre TransactionsGuard

Modifiez le fichier <Tomcat_Path>/webapps/talendmdm/WEB-INF/web.xml et ajoutez les lignes suivantes :

<filter>
   <filter-name>transactionGuardFilter</filter-name>
   <filter-class>com.amalto.core.servlet.TransactionsGuardFilter</filter-class>
   <init-param>
      <param-name>throw.exceptions.BEFORE</param-name>
      <param-value>true</param-value>
   </init-param>
   <init-param>
      <param-name>throw.exceptions.AFTER</param-name>
      <param-value>false</param-value>
   </init-param>
</filter>
<filter-mapping>
   <filter-name>transactionGuardFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>

Vous ajouterez et activerez ainsi un nouveau filtre servlet à l'application Web.

Ce filtre vérifie avant et après chaque requête HTTP si une transaction est attachée au process HTTP en cours.

Si le filtre trouve une transaction, y compris une trace d'appel de création de transaction si le débogage est activé sur la transaction MDM, le filtre journalise un message d'avertissement. Pour plus d'informations, consultez Modifier le niveau de log de la transaction MDM pour déboguer.

Les paramètres du filtre sont décrits ci-dessous :

Paramètre du filtre

Description

throw.exceptions.BEFORE

Si ce paramètre est défini à true, le filtre envoie une exception avant l'exécution de la requête (en retournant une erreur HTTP 500).

throw.exceptions.AFTER

Si ce paramètre est défini à true, le filtre envoie une exception si une transaction est attachée au processus en cours après l’exécution de la requête (en retournant une erreur HTTP 500 même si la requête s'est exécutée correctement, ce qui n'est pas recommandé).

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.