terça-feira, 19 de fevereiro de 2008

Utilizando P6Spy JBoss

O P6Spy é uma ferramenta que permite realizar o monitoramento de queries realizadas utilizando JPA, Hibernate, etc. Sua utilização é bem simples para o JBoss, bastando apenas poucas configurações.

Copie o arquivo p6spy.jar para o diretório lib de sua configuração do JBoss:
cp p6spy.jar $JBOSS_HOME/server/sua_configuracao/lib

Copie o arquivo spy.properties para o diretório conf referente a sua configuração do JBoss:
cp spy.properties $JBOSS_HOME/server/sua_configuracao/conf

Edite o arquivo spy.properties para utilizar o driver jdbc referente ao banco de dados a ser utilizado, no meu caso, irei utilizar MySQL, entao irei utilizar a configuração:

# mysql Connector/J driver
realdriver=com.mysql.jdbc.Driver

Configure a propriedade logfile informando o arquivo onde será gravado os logs do P6Spy, no meu caso irei utilizar /tmp/spy.log

logfile = /tmp/spy.log

Edite o arquivo de configuração do seu DataSource no mudando o atributo driver-class para utilizar o P6Spy:
com.p6spy.engine.spy.P6SpyDriver

Pronto, com isso o arquivo spy.log receberá as queries executadas em seu sistema.

Referencias:
http://www.p6spy.com/

Um comentário:

Axel disse...

Olá Bruno,

você já tentou usar o P6spy no Jboss 5 com uma datasource postgres? Tentei, mas parece que o proxy-driver é simplesmente ignorado e o driver real é usado.

O estranho é, que se tiro o jar do postgres, posso verificar que o P6SpyDriver é carregado, reclamando que não achou o driver do postgres (aparece no spy.log). Fazendo o contrário, não reclama, ou seja, posso deletar tranquilamento o jar do p6spy que tudo roda.

Tem alguma idéia?