2012-03-21 14 views
6

Desde que actualicé mis dos proyectos Grails Grails 2.0 a griales-melodía dejó de registrar llamadas SQL. He probado diferentes versiones del plugin melodía de griales, pero recibo el mismo error en todas las versiones (incluso en la versión que funcionaba antes de migrar a Grails 2.0).Griales Melody complemento ya no registra las llamadas SQL como de griales 2.0

Parece que no puedo encontrar nada útil en Google. Si añado una depuración rastro en el plugin griales melodía

log4j = { 
    trace 'net.bull.javamelody' 
} 

veo esto en los registros:

DEBUG bull.javamelody - datasources found in JNDI: [] 

Este problema me está volviendo loco .. Aquí nadie ha tenido este problema? Y si es así encontraste una solución?

ACTUALIZACIÓN: Griales melodía ya no funciona ni en proyectos de nueva creación. Acabo de crear un nuevo proyecto Grails (Grails 2.0.0) con una clase de dominio y el controlador y las vistas correspondientes. Luego instalé el plugin de melodías de grial. Insertado algunos datos. Cuando miré en la consola de supervisión, no hay datos SQL se está registrando ..

Graph Tables

Respuesta

4

Una solución parcial es fijar jdbc.factory_class en la sección de hibernación de DataSource.groovy. Por ejemplo:

hibernate { 
    cache.use_second_level_cache = true 
    cache.use_query_cache = false 
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory' 
    jdbc.factory_class = 'net.bull.javamelody.HibernateBatcherFactory' 
} 

Esto registrará todas las consultas SQL que pasan a través de hibernación. Las consultas que usan la fuente de datos directamente todavía no se registran.

+0

Nice! Lo probaré. ¡¡Gracias!! –

+0

Puede confirmar que funcionó para GORM. ¡¡Gracias!! –

+0

1 abajo, uno a ir :) necesidad de encontrar una solución para las llamadas SQL puro (tener un buen número de los que por causa de rendimiento) –

0

que aumentó la respuesta de ataylor ya que me inició fijación de la cuestión. Pero no puedo comentar todavía, así que publicaré esto aquí.

En la sección JDBC en los documentos de JavaMelody: JDBC, se describe cómo hacerlo con hibernación recta utilizando su propia fachada del controlador. Asumiría que esto también funcionaría, pero no puedo imaginar los parámetros para poner en DataSource.groovy para que funcione.

Referencia:

<property name="hibernate.connection.driver_class">net.bull.javamelody.JdbcDriver</property> 
    <property name="hibernate.connection.driver">com.mysql.jdbc.Driver</property> 
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/myschema</property> 
    <property name="hibernate.connection.username">myuser</property> 
    <property name="hibernate.connection.password">mypassword</property>