打算再我的项目中引入静态页面的生成,因为这几天看代码看的太紧张了,于是想去实现他。首先想到的是Grails如何来进行controller的执行,因为我的这个job需要Domain Class的支持,进一步说就是我需要能让程序可以享受Domain Class的Domain Class Methods的便利,不仅如此,还可以保证Domain Class代码的单纯性,想想也是,既然Grails提供了Spring+Hibernate的解决方案,为什么不用他呢。吼吼。
于是开始看源代码,不得不说的是,Eclipse的引用功能的确是非常的贴心,至少读源代码方面是一流的,于是从DomainClassMethods->GrailsDomainConfigurationUtil->ConfigurableLocalSessionFactoryBean->SpringConfig->GrailsDispatcherServlet,OK!路子走通了,那么来看看GrailsDispatcherServlet里面做些什么呢?于是仔细look...发现了一个很重要的类GrailsApplication,可以说这个类是Grails的基础,毫无疑问,他可以脱离web server环境,因为grails有个Console类,就是直接引用GrailsApplication的,相当于Grails可以在其他应用程序中跑起来!
当然这个发现并没给我带来多大帮助。。。我还是需要从GroovyPageServlet开始分析,到底Grails是如何建立web环境,并且执行controller的原理。于是进入GroovyPageServlet,马上就可以跟踪到SimpleGrailsControllerHelper这里,这里是Grails处理controller的地方,于是发现了两个很重要的method: handleURI(),handleAction(),自此基本上可以解决静态页面生成的问题了。
但是,这时猛然想起,grails自己本身就支持job,而且是大名鼎鼎的Quartz!亏大了。。于是马上打开User Guide,找到Job Scheduling (Quartz)这个章节,看了看,非常简单,grails create-job就可以搞定,无外乎在项目下面建立一个jobs目录,然后写个类,上面提供了一个非常简单的example:
class MyJob {
def startDelay = 100
def timeout = 1000
def name = "MyJob"
def group = "MyGroup"
def execute(){
print "Job run!"
}
}
可惜的是,这个example是错误的!这个也是我出师不利以后调试源代码才发现的,grails 0.2中,"startDelay"和"timeout"这两个field是用String.class来解析的,如果写成number的时候,你的schedule是十分钟执行一次,很郁闷,因为他缺省的就是6000000,呵呵。正确的写法是:
class MyJob {
def startDelay = "100"
def timeout = "1000"
def name = "MyJob"
def group = "MyGroup"
def execute(){
print "Job run!"
}
}
就这么简单,不过在佩服grails项目组的同时,也稍微鄙视一下粗心的Micha?? K??ujszo,(抱歉,我这里是乱码),这个错误实在不该犯!
另外,在job里面可以使用Domain Class的Domain Class Methods,这可是个好东东,很贴心的设计。
分享到:
相关推荐
**Grails 框架详解** Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,旨在简化开发过程并提高生产力。Grails 的设计深受Ruby on Rails的影响,提供了MVC(模型-视图-控制器)架构模式...
《Grails权威指南》是一本全面深入探讨Grails框架的专著,旨在帮助读者掌握这一强大的Web开发工具。Grails是一种基于Groovy语言的开源框架,它为构建现代、高效的应用程序提供了简洁高效的解决方案。本指南针对不同...
【Grails项目搭建详解】 Grails是一个基于Groovy语言的开源Web应用框架,它简化了开发过程,尤其适合快速构建动态网站。在Eclipse中搭建Grails项目可能相对复杂,但通过以下步骤,即使是初学者也能顺利进行。 1. *...
《Grails用户手册》 Grails,作为一个基于Groovy语言的开源Web应用框架,深受开发者喜爱,它简化了Java开发的复杂性,提供了强大的MVC(Model-View-Controller)架构,以及丰富的插件系统。这份用户手册将帮助你...
对于Grails开发,我们需要的是Eclipse中的Grails插件,它能够提供对Grails项目的创建、运行、调试等一系列功能。 **Grails**是基于Groovy语言的全栈式Web开发框架,它借鉴了Ruby on Rails的设计理念,提供了快速...
Grails是一个基于Groovy语言的全栈框架,它遵循约定优于配置的原则,并且紧密集成Spring和Hibernate等流行的Java库,简化了开发流程。Grails在IT行业中尤其受到重视,因为它能够帮助开发者快速搭建并部署基于MVC模式...
### Grails 快速开发 Web 应用程序 #### 一、Grails 概述 Grails 是一种基于 Groovy 的开源应用框架,用于简化 Web 应用程序的开发过程。它采用约定优于配置的原则,这使得开发者可以更快地创建功能丰富的 Web ...
《Grails 2.4.4 框架深度解析》 Grails 2.4.4 是一个基于Java的开源Web应用框架,它利用Groovy语言的强大特性,为开发者提供了一种高效、灵活的开发环境。这个压缩包“grails-2.4.4.zip”包含了完整的Grails 2.4.4...
**Grails 概述** Grails 是一个基于 Groovy 语言的开源 web 应用程序框架,它构建在 Java 平台上,旨在提高开发效率,简化常见 Web 开发任务。Grails 遵循 Model-View-Controller (MVC) 架构模式,允许开发者快速...
《Grails 2 的终极指南》是一本深入探讨Grails框架精髓的专业书籍,该书以英文撰写,旨在为读者提供全面、深入的Grails框架学习资料。Grails框架基于Groovy语言,是一种高度动态、敏捷的Java应用开发框架,它简化了...
Eclipse 插件 Grails(Groovy)是一个强大的开发工具,它使得在Eclipse环境中进行Groovy和Grails应用的开发变得更为便捷。Groovy是一种动态、面向对象的编程语言,而Grails则是一个基于Groovy的开源Web应用框架,...
### Groovy和Grails配置方法 #### 一、Groovy与Grails简介 Groovy是一种强大的面向对象编程语言,它运行在Java平台上,并且能够直接与Java代码进行交互。Groovy支持函数式编程特性,拥有丰富的语法糖以及简洁的...
**Grails登录系统详解** Grails是一个基于Java的开源Web应用程序框架,它使用Groovy语言进行开发,提供了高效、简洁的编程模型。在Grails中实现用户登录功能是构建任何Web应用的基础,它确保了数据的安全性和用户...
### Grails入门指南知识点 #### 一、Grails框架简介 - **背景**: Grails是一个基于Groovy语言的开源Web应用框架,适用于Java平台。它旨在简化开发过程,提高开发效率,尤其受到那些希望保留Java环境同时寻求更高效...
《Grails中文参考手册》是针对Groovy编程语言构建的Web应用框架——Grails的一份详尽学习资料。Grails以其高效、灵活和强大的特性,成为开发人员在Java平台上构建Web应用的热门选择。这份手册旨在帮助初学者快速上手...
《Grails技术详解:中文文档与Fckeditor-0.9.5插件解析》 Grails,作为一款基于Groovy语言的开源Web应用框架,以其高效、简洁的特性深受开发者喜爱。它集成了许多Java EE的功能,同时简化了开发流程,使得开发人员...
《Grails 1.1 中文文档》是一个非常宝贵的资源,尤其对于国内的开发者来说,由于Grails在中文社区中的资料相对较少,这份文档的价值不言而喻。Grails是一个基于Groovy语言的开源Web应用框架,它借鉴了Ruby on Rails...
《Grails核心源码解析——基于版本2.2.2》 Grails,作为一个基于Groovy语言的全栈式Web应用框架,深受开发者喜爱。它以其简洁的语法、丰富的插件系统以及对Spring和Hibernate的无缝集成,为开发高效、灵活的Web应用...