...
GAE service | Camel component | Component description |
---|---|---|
Provides connectivity to the GAE URL fetch service but can also be used to receive messages from servlets. | ||
Supports asynchronous message processing on GAE by using the task queueing service as message queue. | ||
Supports sending of emails via the GAE mail service. Receiving mails is not supported yet but will be added later. | ||
| Not supported yet. | |
| Not supported yet. | |
| Not supported yet. | |
| Not supported yet. | |
| 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/spring
namespace for configuring a SpringCamelContext
but still need to disable JMX. Here's an example.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<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 | ||||
---|---|---|---|---|
|
The web.xml
...