hibernate - 如何获取 grails hibernate L2 缓存统计信息?

标签 hibernate grails profiling ehcache

grails hibernate L2 缓存统计信息 - net.sf.ehcache.Statistics

我正在将 ehcache 与 L2 缓存一起使用。

我想分析性能并从 net.sf.ehcache.Statistics 获取统计信息。 但没有成功,我一直在寻找一种从 Grails 或 Spring 访问 L2 缓存管理器的方法。

我很感激任何提示。

以下是使用的典型 hibernate 设置

hibernate {

    cache.use_second_level_cache = true

    cache.use_query_cache = true

    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'

    format_sql = true

    use_sql_comments = true
}

最佳答案

您可以通过将 sessionFactory 注入(inject)到您的服务中来获取它,然后 enable statistics关于它:

class My Service {

  def sessionFactory

  def myMethod() {
    // Enable stats
    Statistics stats = sessionFactory.getStatistics();
    stats.setStatisticsEnabled(true);

   // Do some querying and analyse the stats

  }

}

关于hibernate - 如何获取 grails hibernate L2 缓存统计信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11621495/

相关文章:

当 Hibernate 应用程序加载数据以供只读使用时 Oracle 死锁

grails - 建立搜寻标准并不容易?

java - 为什么 Grails 在 Mac OS x 7 上使用旧的 JVM 编译器?

grails - Grails 中的用户通知

c# - 运行时代码覆盖工具

java - 运行在 Redhat 上的配置文件 Tomcat 实例

java - BasicLogger Tomcat 的 NoClassDefFoundError

java - 显式 EntityManager.find 后 @RequestScoped Bean 中的 LazyInitializationException

java - 为什么使用 Hibernate 进行查询缓存会使查询速度慢十倍?

c++ - 如何分析 C/C++ 应用程序中内存访问所花费的时间?