Могу ли я использовать Spring для GAE?

Могу ли я использовать Spring Webflow/MVC и Spring Безопасность и Hibernate на Google App Engine?

Есть ли список/сводка java-фреймворков, которые можно использовать в GAE?

Ответ 1

См. по этой ссылке список фреймворков, которые запускаются на JVM, чтобы увидеть, поддерживается ли тот, который вы хотите, или нет

Ответ 2

Будет ли он воспроизводиться на Java отображает фреймворки, языки и библиотеки, которые работают (или нет) в Google App Engine. В настоящее время указанная информация:

Spring MVC

Version     2.5.6
Status  COMPATIBLE

Чтобы увидеть фреймворк Spring MVC, запущенный в App Engine, проверьте приложение образца 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 работу с интерфейсом JPA, предусмотренным приложением App Engine, следуйте инструкциям в http://objectuser.wordpress.com/2009/05/19/spring-jpa-in-google-app-engine/, в котором обсуждается обходной путь к зависимость от javax.naming, необходимая для @PersistenceContext. Более сложное обходное решение доступно на http://groups.google.com/group/google-appengine-java/browse_thread/thread/187d41712ec1d394.

Spring Безопасность

Version(s)  ?
Status  SEMI-COMPATIBLE

Чтобы обойти исключение ClassNotFoundException, вы можете использовать повторно скомпилированную версию библиотеки, которая добавляет класс StringInsensitiveComparator - загрузка предоставляется по адресу http://www.google-app-engine.com/blog/post/Spring-security-fix-for-google-app-engine.aspx. См. http://www.dotnetguru2.org/bmarchesson/index.php?p=1100 советы о том, как получить Spring Безопасность, выполняемая с помощью App Engine и GWT (на французском языке). См. http://groups.google.com/group/google-appengine-java/browse_thread/thread/964e7f5e42840d9c для обсуждения интеграции.

Hibernate

Versions     All
Status  INCOMPATIBLE

В настоящее время вы не можете использовать Hibernate напрямую. Различия между хранилищем данных App Engine и SQL были слишком велики, чтобы запустить и запустить стандартный Hibernate в App Engine. App Engine поддерживает JDO и JPA, поэтому вы можете конвертировать ваш Hibernate-код для использования одного из этих ORM-интерфейсов.

Я полагаю, что он должен работать и с Spring 3.0, я постараюсь скоро и поделиться результатами.

UPDATE. Я пробовал Spring MVC Hello World с Spring 3.0.6 с Google App Engine, и он отлично работал как локально, так и в облаке. Недостатком является увеличение времени загрузки при запуске нового экземпляра.

Ответ 3

Насколько я знаю, сторонние библиотеки не поддерживаются (по крайней мере, ни один из них не указан), а классы JRE ограничены этот список. Но я думаю, если библиотека использует только перечисленные классы jre, они должны быть в порядке. Однако выяснение того, будут ли они делать, должно быть основано на проверке.