我们想监控SQL执行的效率,打出执行时间。一般Spring项目都是用AOP拦截,然后计算方法开始结束时间,再减一下,就得到执行花的时间了。那Grails里更简单,不用自己写代码,其实用的是Spring的PerformanceMonitorInterceptor。
修改grails-app\conf\spring\resources.groovy
beans = {
xmlns aop:"http://www.springframework.org/schema/aop"
aop {
config("proxy-target-class":true) {
pointcut(id:"interceptorPointcut", expression:"execution(* org.apache.ibatis.session.SqlSession.*(..))")
advisor( 'pointcut-ref': "interceptorPointcut", 'advice-ref':"preformanceMonitoringInterceptorAdvice")
}
}
preformanceMonitoringInterceptorAdvice(org.springframework.aop.interceptor.PerformanceMonitorInterceptor, true){
loggerName = "grailsee.performanceMonitor"
}
}
然后修改grails-app\conf\Config.groovy,加入以下代码
debug 'java.sql.Connection',
'java.sql.Statement',
'java.sql.PreparedStatement'
//'org.mybatis',
//'org.apache.ibatis',
//'org.codehaus.groovy.grails.plugins.ibatis'
trace 'grailsee.performanceMonitor'
OK,然后执行SQL时就自动拦截计算执行时间了,看一下控制台上,有如下信息:
grailsee.performanceMonitor StopWatch 'org.apache.ibatis.session.SqlSession.selectOne': running time (millis) = 8482
执行此SQL花了8秒,搞定!
可以参考http://www.objectpartners.com/2010/10/19/grails-plumbing-spring-aop-interceptors/
如果要监控真实SQL方便调试的话,可以参考另一篇文章
在Grails下查看真实的SQL
(不过我测试下来没有成功。Grails2.1.0)
分享到:
相关推荐
Grails+ZK文档,Grails+ZK文档,Grails+ZK文档,Grails+ZK文档
通过阅读《Grails+groovy 完整参考手册.docx》,你可以更深入地了解这两个技术,包括它们的原理、最佳实践以及实际应用中的案例。无论你是初学者还是有经验的开发者,这份手册都将是你学习和提升技能的宝贵资源。
Grails-MyBatis 用于 Grails 框架的 MyBatis 插件 基于原始 Grails-iBatis 插件:Brian Sanders ( ) Grails 插件主页: : 修改: 命名约定的一些变化 添加了对多个数据源的完全支持 Grails 2.0 插件重构 最小 ...
grails+Xfire webservice
《Grails + Spring Security 权限控制》 在Web应用开发中,权限控制是不可或缺的一环,它确保了用户只能访问他们被授权的功能和数据。本文将深入探讨如何在Grails框架中集成Spring Security,实现高效且灵活的权限...
Grails+Apache構築手順 apache配置手順 tomcat配置手順
### Grails快速开发Web应用程序知识点解析 #### 一、Grails框架概述 - **定义**:Grails是一个基于Groovy语言构建的开源Model-View-Controller (MVC) Web开发框架。它旨在简化Web应用程序的开发流程,提高开发效率...
- **部署和运维**:了解 Grails 应用在生产环境下的部署流程,包括配置管理、日志记录和监控策略。 ### 实战应用 本书不仅提供了理论知识,还包含了大量的实战案例,如构建 RESTful API、实现安全认证、集成第三方...
综上所述,"grails_blog:Grails + MongoDB 博客" 主要涵盖了 Grails 框架的使用,Groovy 语言的应用,以及 MongoDB 的集成与数据管理。对于想要学习全栈开发,特别是 Grails 和 NoSQL 数据库的人来说,这是一个很好...
【标题】"Grails + AngularJS" 是一个结合了两种技术的项目,旨在展示如何将Grails后端框架与AngularJS前端框架有效地整合在一起。这个项目可能是为了教学目的或者为开发者提供一个参考模板,帮助他们理解如何在实际...
工具115 Proyecto para la MateriaTecnologíasOrientadas a Objetos,desarrollado en Grails + Oracle
**Grails登录系统详解** Grails是一个基于Java的开源Web应用程序框架,它使用Groovy语言进行开发,提供了高效、简洁的编程模型。在Grails中实现用户登录功能是构建任何Web应用的基础,它确保了数据的安全性和用户...
《Grails技术详解:中文文档与Fckeditor-0.9.5插件解析》 Grails,作为一款基于Groovy语言的开源Web应用框架,以其高效、简洁的特性深受开发者喜爱。它集成了许多Java EE的功能,同时简化了开发流程,使得开发人员...
《Grails 入门指南》是一本专门为初学者设计的教程,旨在帮助新手快速掌握Grails框架的基础知识和实际应用。Grails是一个基于Groovy语言的全栈式、开源的Web应用框架,它以简化开发流程和提高生产力为目标,特别适合...
- 将Grails命令配置为Eclipse的外部工具,方便直接在IDE中执行Grails命令。在`Run > External Tools > External Tools Configurations...`中创建新的程序配置,详细步骤可参考Eclipse界面的指导。 完成以上步骤后...
3. **GORM(Grails Object-Relational Mapping)**:Grails的内置ORM工具,允许开发者以声明式的方式操作数据库,支持SQL的CRUD操作,简化了数据持久化的过程。GORM支持多种数据库,如MySQL、PostgreSQL等。 4. **...
**Grails 框架详解** Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,旨在简化开发过程并提高生产力。Grails 的设计深受Ruby on Rails的影响,提供了MVC(模型-视图-控制器)架构模式...
《Grails 2.4.4 框架深度解析》 Grails 2.4.4 是一个基于Java的开源Web应用框架,它利用Groovy语言的强大特性,为开发者提供了一种高效、灵活的开发环境。这个压缩包“grails-2.4.4.zip”包含了完整的Grails 2.4.4...
综上所述,Grails 不仅提供了快速开发 Web 应用程序的有效手段,而且还为开发者构建了一个充满活力的社区环境。无论是初学者还是有经验的开发者,都可以从 Grails 的强大功能中受益。通过掌握 Grails 的核心概念和...