Google App Engine for Java was released. Google announced that it would support more languages through JVM. What languages does Google currently support? View the following list and help and resources for running different languages on Google App Engine
:
JRuby
If you build from svn trunk, you can run it immediately.
Ola Bini has written some introductions: http://olabini.com/blog/2009/04/jruby-on-rails-on-google-app-engine/
Groovy
Groovy can run. Release 1.6.1: http://policy.codehaus.org/download. For more details, see Spring Source blog:
Http://blog.springsource.com/2009/04/07/write-your-google-app-engine-applications-in-groovy/
Scala
-Scala can run.
-Scala Actors cannot be executed because they use thread implementation, which is not currently supported.
-The Lift web framework cannot run either because it depends on Actors and JDBC.
JavaScript (Rhino)
-Rhino can run.
Jython
-Jython 2.2 can be run.
-Patch required for Jython 2.5:
-Jython-r5996-patched-for-appengine.jar complete jython bytecode library, app engine patch
-Jython-r5996-appengine.patch patch source code
BeanShell
-BeanShell can run.
Java Enterprise Edition (JEE)
It does not support complete Java EE specifications, but supports many independent parts.
Servlets
Supports version 2.4, including HTTPS.
Java Server Pages (JSP)
Basically, it is fully supported, including JSTL.
Java Persistence API (JPA)
Supported.
JavaMail
Yes. There are some restrictions.
JavaBeans Activation Framework (JAF)
Supported.
XML Processing
Supported, including DOM, SAX, and XSLT APIs.
Java Server Faces (JSF)
Unknown.
Java Authentication and Authorization Service (JAAS)
Unknown.
Java Database Connectivity (JDBC)
Not Supported-the App Engine data storage is not a relational storage, using JDO or JPA.
Web Services
JAX-RPC or JAX-WS is not currently supported.
Java Management Extensions (JMX)
Not supported.
Java EE Connector Architecture (JCA)
Not supported.
Java Naming and Directory Interface (JNDI)
Not supported.
Java Message Service (JMS)
Not Supported. Alternative include HTTP-based communication architecture.
Enterprise Java Beans (EJB)
Unsupported. Alternative entity beans include JDO and JPA.
Remote Method Invocation (RMI)
Not Supported. Alternative include HTTP-based communication architecture.
Other LibrariesSpring
You can use Spring on App Engine as an example to view the autoshoppe demo.
Hibernate
Currently, the data storage of Hibernate. App Engine cannot be directly used, which is very different from that of SQL. Therefore, standard Hibernate cannot be run in AppEngine. However, App Engine does
Supports JPA. You can convert the Hibernate code to use JPA.
Struts
Not Supported
Apache Commons FileUpload
Streaming API added in version 1.2.1 can be run.
Traditional APIs are not supported because they depend on java. io. File.