使用 Grails 开发 Google App Engine 应用

本文介绍如何使用Grails Web框架与Google App Engine (GAE) 云计算平台结合开发应用,通过一个ToDo应用示例详细阐述了环境搭建、插件安装及开发注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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

 

前言

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

  1. 本文将借助 Grails 中支持 GAE 的插件 --Grails App Engine(以下简称 GAE 插件),使用 JPA 接口,以一个 ToDo 应用为例,讲述了如何使用 GAE 插件进行 GAE 程序的开发,以及在开发中的注意事项。
  2. 本文使用的环境:
  • 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值