我可以在GAE上使用Spring吗?

n00*_*13f 11 java google-app-engine spring spring-security spring-webflow

我可以在Google App Engine上使用Spring Webflow/MVCSpring Security以及Hibernate 吗?

是否有可以在GAE上使用的java框架的列表/摘要?

cch*_*son 6

在此链接中查看 JVM上运行的框架列表,以查看是否支持所需的框架

  • 为了扩展这个答案,列出的框架将起作用,但基于http://www.answercow.com/2010/03/google-app-engine-cold-start-guide-for.html可能会产生相当大的影响如果没有一个实例,可以花费很多时间来启动新实例.如果你不需要它们,你应该试着没有它们.试试http://code.google.com/p/objectify-appengine/ (5认同)

sti*_*vlo 6

它将在Java播放列出在Google App Engine中工作(或不工作)的框架,语言和库.目前,列出的信息是:

Spring MVC

Version     2.5.6
Status  COMPATIBLE
Run Code Online (Sandbox Code Playgroud)

要查看在App Engine上运行的Spring的MVC框架,请查看autoshoppe示例应用程序.如果您正在使用Spring表单(例如,使用spring-form.tld标记库和子类化SimpleFormController),则需要为您的属性注册自定义编辑器.这包含在http://groups.google.com/group/google-appengine-java/browse_thread/thread/d93fd7385bf85bf7中.

春天ORM

Version     2.5.6
Status  COMPATIBLE
Run Code Online (Sandbox Code Playgroud)

要使Spring使用App Engine提供的JPA界面,请按照http://objectuser.wordpress.com/2009/05/19/spring-jpa-in-google-app-engine/上的说明进行操作,该说明讨论了一种解决方法对@PersistenceContext所需的javax.naming的依赖.有关更复杂的解决方法,请访问http://groups.google.com/group/google-appengine-java/browse_thread/thread/187d41712ec1d394.

春季安全

Version(s)  ?
Status  SEMI-COMPATIBLE
Run Code Online (Sandbox Code Playgroud)

要解决ClassNotFoundException,您可以使用库的重新编译版本来添加StringInsensitiveComparator类 - 该下载在http://www.google-app-engine.com/blog/post/Spring-security上提供-fix-for-google-app-engine.aspx.有关如何使用App Engine和GWT(法语)运行Spring Security的提示,请参阅http://www.dotnetguru2.org/bmarchesson/index.php?p=1100.有关集成的讨论,请参见http://groups.google.com/group/google-appengine-java/browse_thread/thread/964e7f5e42840d9c.

过冬

Versions     All
Status  INCOMPATIBLE
Run Code Online (Sandbox Code Playgroud)

您目前无法直接使用Hibernate.App Engine数据存储区和SQL之间的差异太大,无法在App Engine下启动并运行标准Hibernate.App Engine确实支持JDO和JPA,因此您可以将Hibernate代码转换为使用其中一个ORM接口.

我想它也应该适用于Spring 3.0,我会很快尝试并分享结果.

更新:我尝试使用带有Google App Engine的Spring 3.0.6 Spring MVC Hello World,它在本地和云端都运行良好.但缺点是,新实例启动时的加载时间会更长.


Kla*_*sen 1

据我所知,不支持任何第三方库(至少没有列出),并且JRE类仅限于此列表。但我想如果一个库只使用列出的 jre 类,它们应该没问题。然而,要弄清楚它们是否确实如此,必须基于尝试。