Dans certains cas, il est nécessaire d'exécuter une trace de l'API JPA (Java™ Persistence API) depuis un environnement Java SE.
Pourquoi et quand exécuter cette tâche
La fonction de traçage étendu
permet également de regrouper des informations de traçage supplémentaires de JPA dans un environnement Java SE. Dans l'environnement WebSphere Application Server, le serveur d'applications se charge
du couplage de la trace OpenJPA standard avec la fonction de traçage étendu
afin de produire une sortie de trace unique. Cette opération doit être effectuée manuellement dans un environnement Java SE. Pour utiliser une fonction de traçage étendu, dans un environnement Java SE, procédez comme suit :
Procédure
- Créez un fichier contenant les propriétés de configuration de la journalisation. Le fichier de propriétés de configuration doit utiliser le format de fichier de configuration standard java.util.logging. Le code qui suit est un exemple de fichier de configuration. Les catégories de traces définies dans le tableau peuvent également être utilisées dans le fichier de configuration. Les catégories de trace doivent inclure le suffixe .level, selon la norme s'appliquant aux fichiers de configuration java.util.logging.
# Sample logger.properties file
# Enable a file handler
handlers = java.util.logging.FileHandler
# Set a trace file pattern - the example writes a file named jpa_jse.log to the current working directory
java.util.logging.FileHandler.pattern = jpa_jse.log
# Configure the basic logging level of the file handler
java.util.logging.FileHandler.level = ALL
# Set the openjp.jdbc.SQL category trace to ALL
openjpa.jdbc.SQL.level = ALL
# Set the enhanced General category trace to FINEST
openjpa.xtrace.General.level = FINEST
# Set the enhanced Kernel category to trace at FINER
openjpa.xtrace.Kernel.level = FINER
Tableau 1. Catégories de trace. Sauvegardez votre configuration de serveur avant d'activer le
traçage amélioré.Catégorie |
Niveaux de trace appropriés |
Description |
JPA |
OFF, ALL, FINER, FINEST |
Ajoute une trace étendue au groupe de traces de l'API JPA. |
openjpa.* |
OFF, ALL, FINER, FINEST |
Trace OpenJPA normale ajoutée à la fonction de traçage étendu de toutes les catégories de l'implémentation
OpenJPA lorsque la fonction de traçage étendu est activée. |
openjpa.xtrace.* |
OFF, ALL, FINER, FINEST |
Trace étendue de toutes les catégories de l'implémentation OpenJPA lorsque la fonction de traçage étendu est activée. |
openjpa.xtrace.Jdbc |
OFF, ALL, FINER, FINEST |
Trace étendue des classes JDBC OpenJPA lorsque la fonction de traçage étendu est activée. |
openjpa.xtrace.Lib |
OFF, ALL, FINER, FINEST |
Trace étendue des classes de bibliothèque OpenJPA lorsque la fonction de traçage étendu est activée. |
openjpa.xtrace.Persist |
OFF, ALL, FINER, FINEST |
Trace étendue des classes persistantes OpenJPA lorsque la fonction de traçage étendu est activée. |
openjpa.xtrace.Kernel |
OFF, ALL, FINER, FINEST |
Trace étendue des classes noyau OpenJPA lorsque la fonction de traçage étendu est activée. |
openjpa.xtrace.General |
OFF, ALL, FINER, FINEST |
Trace étendue des classes OpenJPA n'appartenant pas aux catégories
JDBC, Lib, Persist ou Kernel, lorsque la fonction de traçage étendu est activée. |
- Modifiez le fichier persistence.xml de façon à utiliser l'API Apache commons logging au lieu du consignateur OpenJPA par défaut. Ajoutez cette propriété dans votre unité de persistance :
<property name="openjpa.Log" value="commons"/>
- Ajoutez le fichier d'archive Java (JAR) Apache commons logging à votre chemin d'accès.
Vous pouvez télécharger le fichier JAR à partir du site Web Apache.
- Ajoutez l'argument suivant à la machine JVM (Java virtual machine), où <chemin_install_WAS> correspond au chemin qualifié de votre répertoire d'installation de serveur d'applications. Veillez à utiliser le caractère de séparation de chemin approprié dans le système d'exploitation. Ce paramètre doit être indiqué devant le nom de la classe ou du fichier JAR à utiliser.
-javaagent:<WAS_install_path>/optionalLibraries/IBM/wsjpa/wsjpatrace.jar
- Ajoutez cet argument supplémentaire à la machine JVM, en indiquant le chemin vers votre fichier de configuration de la journalisation. Cette option doit également être indiquée devant le nom de la classe ou du fichier JAR à utiliser.
-Djava.util.Logging.config.file=Logger.properties
- Lancez votre application Java SE. Voici un exemple
d'appel d'application Java SE lorsque la fonction de traçage étendu est activée :
java
-javaagent:"<WAS_install_path>/optionalLibraries/IBM/wsjpa/wsjpatrace.jar"
-Djava.util.logging.config.file=Logger.properties
my.JPAApplication
Résultats
La fonction de traçage étendu fonctionne désormais dans votre environnement Java SE.
Que faire ensuite
Eviter les incidents: N'utilisez pas l'agent de trace étendue avec
l'agent OpenJPA PCEnhancer dans un environnement Java SE. Si vous utilisez la fonction de traçage étendu, l'agent OpenJPA PCEnhancer doit être utilisé lors de la compilation. Si vous utilisez à la fois l'agent de l'outil Enhancer et l'agent de traçage étendu, les résultats sont imprévisibles.
gotcha