谷歌应用程序引擎上的Grails

时间:2010-06-25 15:59:49

标签: google-app-engine grails

grails和google app引擎部署的当前状态是什么。我是app引擎的新手,但值得探索。一些特定的qns是

  1. 用户评分较高的最新plugin有任何限制吗?或者它与所有gorm功能无缝协作
  2. 是否有任何问题,grails应用程序的启动时间很长。现实世界中的情况如何? (典型的小规模和大规模应用)
  3. 其他grails插件怎么样(如shiro,joda time,nimble等)。我猜他们不会打得好。因此,直接使用这些库是更好的选择
  4. 如果决定放弃goole-app作为部署选项,那么切换到正常环境是多么容易。 JPA支持确保与其他传统DB的兼容性?
  5. 不确定还有什么是主要问题..可能,这是进行良好讨论的基础 感谢。

1 个答案:

答案 0 :(得分:2)

我从grails邮件列表中得到的回复很少,结论与David分享了评论。见线程here

一些相关的回应:

来自Tomas Lin:

如果你真的想建立一个,我会建议调查Gaelyk App Engine上的项目。它是从头开始构建的App 引擎作为目标引擎,因此可以绕过长时间的问题 由于Spring和Hibernate导致的加载时间。新推出的插件 机制保证您的Gaelyk应用程序可以扩展 保证在GAE上工作的方法。

Gaelyk拥有自己的原生实体持久性DSL,这有点儿 更清洁,JPA / JDO抽象在App Engine之上。

我目前在App上看到许多HardDeadlineExceeded异常 引擎和Grails。它只是不适合与Spring一起使用 马上。希望这将随后期版本的改进而改善 Groovy,Grails和Spring / Google的GAE合作伙伴关系 业务,但我不认为Grails准备GAE生产。

即使有Gaelyk,也有报道表现不佳。想象一下 更大的Grails堆栈带来的困难。

app-engine附带了自己的用户/安全性实现 基于GMail账户的管理系统。如果你只想提供 管理员/非管理员实施,这在 appengine配置。无法对Shiro发表评论。

请注意,App Engine的主要限制之一是 无法写入文件,所以即使是在Spring上进行基本文件上传 由于默认机制写入临时,因此会出现问题 文件。我会想象大多数插件都无法正常工作 盒子没有挖掘他们的代码并改变它。

我认为这里最大的问题是缺乏对原生JDBC的支持。 JPA 不像普通的JDBC GORM那样受支持,比如命名查询 如果不进行改造,可能无法开箱即用。如果你 想要使用Grails的最新和最好的部分,它可能是 值得考虑其他托管解决方案。

来自Aaron Eischeid

1. GAE插件和JPA-GORM插件相结合,无法为您提供所有GORM功能。虽然你应该得到像.save(),. delete()和.list()这样的基础知识,但动态查找器等将会被淘汰(至少目前为止)。我可以离开这里,但我认为大多数/所有Hibernate依赖的功能都被其他东西取代(因为它依赖于底层的SQL而GAE目前没有基于SQL的数据库......)所以例如任何标准建设者是不行的。我不清楚你可以在物体上进行多少点钻孔。例如,不确定您是否可以执行以下操作:

def b =新书() def stores = b.authors.publishers.bookstores

我可以使用一些指针的地方是如何在域类中使用JPA。我相信那里有很好的信息,但我还没有找到它。

  1. 不确定

  2. 包含域类或操作当前域类的grails插件必然会出现问题,因为必须以不同的方式构建域类,以便与JPA一起使用,这是必要的,因为Googles数据存储不像关系D B。另一方面。您可以使用Google的内置安全性,因此您不一定需要像Acegi或Shiro这样的插件。

  3. 这可能归结为您可以在控制器和服务中使用的不同GORM级别以及定义域类的不同方式。一些重构似乎是不可避免的,除非JPA与使用谷歌数据存储区的SQL DB一样好。如果JPA可以这样移动那么转移应该很容易,但是如果你因为使用GAE而放弃了你可能想要的东西,那么你可以放弃一些你可能想要的东西。

  4. 渴望听到别人的话,

    亚伦