Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

GAE service

Camel component

Component description

URL fetch service

ghttp

Provides connectivity to the GAE URL fetch service but can also be used to receive messages from servlets.

Task queueing service

gtask

Supports asynchronous message processing on GAE by using the task queueing service as message queue.

Mail service

gmail

Supports sending of emails via the GAE mail service. Receiving mails is not supported yet but will be added later.

Memcache service

 

Not supported yet.

XMPP service

 

Not supported yet.

Images service

 

Not supported yet.

Datastore service

 

Not supported yet.

Authentication service

 

Not supported yet.

Camel context

Usage of the CamelContext implementations org.apache.camel.impl.DefaultCamelContext and org.apache.camel.spring.SpringCamelContext on GAE is not possible out of the box. JMX must be disabled because the javax.management package is not part of the GAE JRE. Usage Setting up a SpringCamelContext on Google App Engine differs between Camel 2.1 and Camel 2.2. The problem is that usage of the Camel-specific Spring configuration XML schema from the http://camel.apache.org/schema/spring namespace requires JAXB and Camel 2.1 depends on a Google App Engine SDK version that doesn't work eithersupport JAXB yet. Camel uses a JAXB-dependent bean definition parser but JAXB is (currently) not supported by GAE. To work around these restrictions camel-gae provides

  • Camel 2.1 depends on the Google App Engine SDK 1.2.6 which doesn't support JAXB. Refer to the #Camel 2.1 subsection for instructions how to set up a SpringCamelContext with Camel 2.1 on GAE.
  • Camel 2.2 depends on the Google App Engine SDK 1.2.8, the first version that introduces support for JAXB. Refer to the #Camel 2.2 subsection for instructions how to set up a SpringCamelContext with Camel 2.2 on GAE.

With both versions, JMX must be disabled because the javax.management package isn't on the App Engine JRE whitelist.

Camel 2.1

camel-gae 2.1 comes with the following CamelContext implementations.

...

Alternatively, use the routeBuilders property of the GaeSpringCamelContext for setting a list of route builders. Using this approach, a SpringCamelContext can be configured on GAE without the need for JAXB.

Camel 2.2

With Camel 2.2, applications can use the http://camel.apache.org/schema/springImage Added namespace for configuring a SpringCamelContext but still need to disable JMX. Here's an example.

Code Block
xml
xml
titleappctx.xml

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:camel="http://camel.apache.org/schema/spring"
       xsi:schemaLocation="
http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd">
    
    <camel:camelContext id="camelContext">
        <camel:jmxAgent id="agent" disabled="true" />
        <camel:routeBuilder ref="myRouteBuilder"/>
    </camel:camelContext>
    
    <bean id="myRouteBuilder"
        class="org.example.MyRouteBuilder">
    </bean>
    
</beans>

Anchor
web-xml
web-xml

The web.xml

...