您的位置:首页 > 大数据 > 人工智能

使用 Grails 开发 Google App Engine 应用

2010-06-30 19:40 721 查看
简介:
Grails 作为 Web 框架的新生力量,已经被越来越多的开发人员所接受。而 Google App
Engine(以下简称 GAE)作为云计算的平台,为应用提供了广阔的扩展空间。如何将二者擦出绚丽的火花呢?本文将以一个应用为例介绍如何使用
Grails 开发 GAE 应用,以及其中的注意事项。

前言

Grails 作为 Web 框架的新生力量,已经被越来越多的开发人员所接受。而 Google App Engine(以下简称
GAE)作为云计算的平台,为应用提供了广阔的扩展空间。如何将二者擦出绚丽的火花呢?

本文将借助 Grails 中支持 GAE 的插件 --Grails App Engine(以下简称 GAE 插件),使用 JPA 接口,以一个
ToDo 应用为例,讲述了如何使用 GAE 插件进行 GAE 程序的开发,以及在开发中的注意事项。

本文使用的环境:

Grails 1.3 M1

Google App Engine 1.3.1

app-engine-0.8.10

gorm-jpa-0.7.1

环境搭建

请先下载 GAE
SDK for Java
以及 Grails

将下载的 zip 解压至适当的位置,并设置环境变量 APPENGINE_HOME 和 GRAILS_HOME。

使用 grails create-app AppName,创建 Grails 项目。

在你的项目中安装 GAE 插件:grails install-plugin app-engine,数据持久化选择
JPA。这个命令会进行如下工作:

卸载 Hibernate,Tomcat 插件;安装 gorm-jpa 插件。

安装 gorm-jpa 插件。

在 AppName /grails-app/conf 下创建:

datastore-indexes.xml:数据存储索引的相关配置,缺省是自动创建索引

persistence.xml:持久化的配置

在 AppName /src/templates 下创建 artifacts、scaffolding、war 三个目录,分别存有 domain
class、controller/views、web.xml 的模板文件。

创建
userhome/.grails/1.3.0.M1/projects/AppName/plugins/gorm-jpa-0.7.1/src
/groovy/org/grails/jpa/JpaPluginSupport.groovy,这是 Plug 最为关键的类,它将 JPA
的相关操作进行了封装,Controller 中调用的方法都要通过这个类。

环境准备就绪后,执行 grails app-engine run,会创建如下内容:

将 GAE 的需要的 Jar 拷贝至 AppName / web-app / WEB-INF/lib 目录下;

在 AppName / web-app / WEB-INF 下创建 plugin
目录、grails.xml、applicationContext.xml、web.xml

GAE 插件提供的可用命令如下:

启动应用:grails app-engine run,以 debug 的模式启动本地应用

打包应用:grails app-engine package,打包本地程序

从 GAE 上取日志:grails app-engine logs --file=logs.txt --days=5,将最近 5 天的日志保存在
logs.txt 文件中

更新 GAE 上的索引:grails app-engine update_indexes

回滚 GAE 的上一次更新:grails app-engine rollback

ToDo 应用说明

为了便于讲解 GAE 插件,本文将借助一个工作任务应用(ToDo)。ToDo 是一个工作任务列表。其中 Domain Class
为:User,UserProfile,Task,Category。它们之间的关系如下:

更多:http://www.ibm.com/developerworks/cn/opensource/os-cn-grailsgae/index.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: