P6SPY est un projet Open-Source qui permet de contrôler les requêtes envoyées par un programme au SGBD. Nous allons voir ici comment l’installer de manière à voir les requêtes qui passent par le WS de l’AMUE.
Nous partons du principe que ‘apows.war’ (l’application Web contenant les WS de l’AMUE) est déployée sur un serveur Tomcat dans le dossier ‘apows’ du répertoire ‘webapps’.
Voici les étapes à réaliser pour installer de P6SPY :
1/ Télécharger le driver P6SPY (le .zip contient les fichiers p6spy.jar et spy.properties).
2/ Mettre le fichier p6spy.jar dans le répertoire ‘WEB-INF/lib’ d’apows
3/ Modifier le bean datasource du fichier webservices-SpringContext.xml d’apows comme suit :
|
<bean id=”dataSource” class=”org.apache.commons.dbcp.BasicDataSource”> <property name=”driverClassName” value=”com.p6spy.engine.spy.P6SpyDriver” /> <property name=”url” value=”UrlDeVotreSGBD” /> <property name=”username” value=”VotreUsername” /> <property name=”password” value=”VotrePassword” /> </bean> |
4/ Placer le ‘spy.properties’ dans le répertoire ‘WEB-INF/classes’ d’apows
5/ Dans le spy.properties, vérifier les valeurs suivantes
module.log = com.p6spy.engine.logging.P6LogFactory
...
Realdrive r= oracle.jdbc.driver.OracleDriver
...
appender= com.p6spy.engine.logging.appender.FileLogger
logfile = Path vers webapps/apows/spy.log
6/ Ajouter les jar suivantes dans apows/ WEB-INF/lib :
commons-dbcp.jar
commons-pool.jar
Voila, P6SPY est installé. Vous pouvez lancer votre serveur puis voir l’ensemble des requêtes qui ont circulées dans le fichier spy.log (dont l’emplacement est défini à l’étape 5).
NB : Chaque requête est loguée 2 fois : une fois avec les paramètres de requêtes sous la forme ‘?’ et une fois avec les paramètres de requêtes qui apparaissent en clair. Ces 2 requêtes sont séparées par un |
Pour choisir les éléments à rapporter dans spy.log, il faut jouer avec les valeurs de ‘excludecategories’ dans spy.properties (ex : excludecategories=info, debug, result, batch, resultset)