Nous utilisons cette configuration Log4J pour afficher les informations JTA:config Log4J pour les transactions Spring JTA
<category name="org.springframework.transaction">
<priority value="DEBUG"/>
</category>
Les entrées du journal qui en résultent sont du type:
15:36:08,048 DEBUG [JtaTransactionManager] [ ] Creating new transaction with name [class]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT
15:36:09,564 DEBUG [JtaTransactionManager] [ ] Initiating transaction commit
... Maintenant, nous utilisons printemps MessageListener
écouter une file d'attente MQ. Le problème est que ceci est transactionnel, et nous obtenons l'enregistrement mentionné ci-dessus toutes les 2 secondes. Ce que nous voulons, c'est simplement que ces instructions JTA soient imprimées quand quelqu'un utilise notre API REST pour accéder à des services qui utilisent @Transactional
. Nous ne voulons pas que les entrées du journal JTA proviennent de cette implémentation d'écoute MQ "polling".
Pouvez-vous le faire?
C'est une solution de contournement décent ... supposons que ce que je cherche est ce que vous dites n'est pas disponible - pour configurer différents niveaux de journal pour la même classe en fonction de l'endroit où il est appelé –
Personnalisé 'TransactionManager' est une belle idée. Comme vous le dites, peut-être plus de tracas que de valeur. –