Google App Engine對Java支持情況一覽
原創語言支持
所有基于JVM的語言都與Java一樣,在App Engine上得到同樣程度的支持。
JRuby
支持從svn trunk開發的JRuby。
Groovy
支持1.6.1版本以后的Groovy。
Scala
◆支持。
◆不支持Scala Actors,因為使用了目前仍不支持的線程
◆不支持Lift web框架,因為其依賴Actors及JDBC
JavaScript (Rhino)
支持。
Jython
◆支持Jython 2.2。
◆Jython 2.5需要補丁,我們會在Jython做出調整前一直提供該補丁。
BeanShell
支持。
Java企業版(JEE)
我們不對Java EE做完整支持,不過支持大多數獨立組件。
Servlets
支持2.4版本,包括HTTPS。
Java Server Pages(JSP)
近于完整支持,包括JSTL。
Java Persistence API(JPA)
支持
JavaMail
一部分支持。
JavaBeans™ Activation Framework(JAF)
支持
XML處理
支持,包括DOM,SAX,以及XSLT API。
Java Server Faces(JSF)
未知。
Java™ Authentication and Authorization Service(JAAS)
未知。
Java數據庫連接(JDBC)
不支持 - App Engine數據庫不是關聯型。使用JDO或JPA替代。
Web服務
我們目前不支持JAX-RPC或JAX-WS。
Java Management Extensions(JMX)
不支持。
Java EE™ Connector Architecture(JCA)
不支持。
Java Naming and Directory Interface(JNDI)
不支持。
Java Message Service(JMS)
不支持。可以用基于HTTP的通信機制來替代。
Enterprise Java Beans(EJB)
不支持。可使用JDO和JPA替代。
Remote Method Invocation(RMI)
不支持。可以用基于HTTP的通信機制來替代。
其他庫
Spring
支持。
Hibernate
無法直接在App Engine上使用Hibernate。App Engine數據存儲與SQL之間差別太大,導致無法使用標準的Hibernate。然而由于App Engine支持JPA,你可以考慮將Hibernate代碼轉化為JPA支持。
Struts
不支持。
Apache Commons FileUpload
支持1.2.1版本中加入的流程API。
不支持老版本API,因為其對java.io.File的依賴(不過,脫離文件讀寫的、通過自定義的FileItemFactory應該可以使用)
更多更新:http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine?pli=1
【編輯推薦】