Google App Engine
Scalatra doesn’t work on Google App Engine (GAE).
Scalatra runs on the Java platform (JRE). GAE doesn’t support the JRE.
GAE only supports a non-standard subset of the JRE, requiring that apps be specifically designed for it. Here are a few of the limitations:
- No support for Servlet 3.0
- Essential request headers are removed.
- Essential response headers are removed.
- Streaming responses are unsupported.
- GAE is so aggressive about terminating slow responders that the app can be left in an inconsistent state according to the rules of the JVM.
- Apps cannot make client requests without using GAE’s fetch service.
- Not all JRE classes are supported.
- Logging is possible only through
It’s really the Servlet 3.0 that is absolutely essential for Scalatra. Once that is implemented, if there is sufficient demand, it may be possible to support GAE without forking the Scalatra codebase.
Scalatra 2.0.x was based on Servlet 2.5, and may work on GAE with the above caveats. This is unsupported by the Scalatra team, as we believe you will get a better Scalatra experience with the other Platform as a Service options.