Recently I succeeded to get a simple Camel route running on the Google
App Engine. Here's a short overview of the issues I encountered:
* Camel's UuidGenerator doesn't work on GAE and needed to be replaced
(see CAMEL-2073 <https://issues.apache.org/activemq/browse/CAMEL-2073>
and a previous post
<http://www.nabble.com/Camel-on-Google-App-Engine-to25921155.html#a25926970>)
* Camel's Spring XML configuration schema cannot be used to e.g.
configure the CamelContext because JAXB is used by the
CamelNamespaceHandler and JAXB is not supported on GAE. Using plain old
<bean> definitions works.
* The same problem arises for the Spring DSL. It is also processed with
JAXB and therefore cannot be used on GAE. Only the Java DSL works (I
didn't try the Scala DSL).
* Using camel-core alone requires to configure another Registry than the
default JndiRegistry. JndiRegistry depends in
javax.naming.InitialContext that is not on the GAE JRE whitelist. Using
a simple Map-based registry solved the problem.
* JMX cannot be used and must be disabled either.
More details can be found in this blog post
<http://krasserm.blogspot.com/2009/10/first-steps-with-apache-camel-on-google.html>.
The above list is of course not complete. Other issues such as
applications are not allowed to create their own threads, for example,
makes it impossible to do asynchronous processing with SEDA or JMS
queues. Reasonably supporting Camel deployments on GAE would also mean
to provide Camel components for accessing GAE services such as URL
fetch, tasks queues, storage, mail etc. I'll see what I can
do/contribute here.