Плагин Grails Melody больше не регистрирует вызовы SQL с Grails 2.0 - PullRequest
6 голосов
/ 21 марта 2012

С тех пор, как я обновил свои два проекта grails до версии grails 2.0, мелодия grails перестала регистрировать вызовы sql.Я пробовал разные версии плагина grails-melody, но я получаю одинаковую ошибку во всех версиях (даже в версии, которая работала до перехода на grails 2.0).

Кажется, я не могу найти ничего полезного.Если я добавлю трассировку отладки в плагин мелодии Grails

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

, я вижу это в журналах:

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

Эта проблема действительно сводит меня с ума. Кто-нибудь здесь испытывал этопроблема?И если да, то нашли ли вы решение?

ОБНОВЛЕНИЕ: Мелодия Grails даже не работает во вновь создаваемых проектах.Я только что создал новый проект Grails (Grails 2.0.0) с одним классом домена и соответствующим контроллером и представлениями.Затем установил плагин Grails-Melody.Вставлены некоторые данные.Когда я заглянул в консоль мониторинга, данные sql не регистрировались ..

Graph Tables

Ответы [ 2 ]

4 голосов
/ 22 октября 2012

Частичный обходной путь - установить jdbc.factory_class в разделе гибернации DataSource.groovy. Например:

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'
}

Это будет регистрировать все запросы SQL, которые проходят через спящий режим. Запросы, использующие источник данных напрямую, по-прежнему не регистрируются.

0 голосов
/ 21 ноября 2012

Я поднял ответ Атайлора, так как он заставил меня решить проблему. Но я пока не могу комментировать, поэтому выложу здесь.

В разделе JDBC в документации по JavaMelody: JDBC , в нем описывается, как сделать это с помощью спящего режима с использованием собственного фасада Driver. Я бы предположил, что это также будет работать, за исключением того, что я не могу до конца жизни определить параметры, которые нужно поместить в DataSource.groovy, чтобы он работал.

Справка:

    <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>
...