我可以在GAE上使用Spring吗?

时间:2010-04-16 15:20:13

标签: java spring google-app-engine spring-security spring-webflow

我可以在Spring上使用Webflow/MVC Spring SecurityGoogle App Engine以及Hibernate吗?

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

3 个答案:

答案 0 :(得分:6)

请参阅at this link在JVM上运行的框架列表,以查看是否支持所需的框架

答案 1 :(得分:6)

Will it Play In Java列出了在Google App Engine中工作(或不工作)的框架,语言和库。目前,列出的信息是:

Spring MVC

Version     2.5.6
Status  COMPATIBLE

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

Spring ORM

Version     2.5.6
Status  COMPATIBLE

要让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提供了更复杂的解决方法。

Spring Security

Version(s)  ?
Status  SEMI-COMPATIBLE

要解决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

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

我认为它也适用于Spring 3.0,我会尽快尝试并分享结果。

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

答案 2 :(得分:1)

据我所知,不支持第三方库(至少没有列出任何第三方库),JRE类仅限于this list。但我想如果一个图书馆只使用列出的jre类,它们应该没问题。但是,找出它们是否必须基于尝试它。