Ce contenu n'est pas disponible dans la langue sélectionnée.

51.7. gtask


gtask Component

The gtask component contributes to the Camel Components for Google App Engine (GAE). It supports asynchronous message processing on GAE by using the task queueing service as message queue. For adding messages to a queue it uses the task queue API. For receiving messages from a queue it installs an HTTP callback handler. The handler is called by an HTTP POST callback (a web hook) initiated by the task queueing service. Whenever a new task is added to a queue a callback will be sent. The gtask component abstracts from these details and supports endpoint URIs that make message queueing on GAE as easy as message queueing with JMS or SEDA.

URI format

gtask://queue-name
Copy to Clipboard Toggle word wrap

Options

Expand
Name Default Value Context Description
workerRoot worker Producer The servlet mapping for callback handlers. By default, this component requires a callback servlet mapping of /worker/*. If another servlet mapping is used e.g. /myworker/* it must be set as option on the producer side: to("gtask:myqueue?workerRoot=myworker").
inboundBindingRef reference to GTaskBinding Consumer Reference to an InboundBinding<GTaskEndpoint, HttpServletRequest, HttpServletResponse> in the Registry for customizing the binding of an Exchange to the Servlet API. The referenced binding is used as post-processor to org.apache.camel.component.http.HttpBinding.
outboundBindingRef reference to GTaskBinding Producer Reference to an OutboundBinding<GTaskEndpoint, TaskOptions, void> in the Registry for customizing the binding of an Exchange to the task queueing service.
On the consumer-side, all options of the Servlet component are supported.

Message headers

On the consumer-side all headers of the Servlet component component are supported plus the following.
Expand
Name Type Context Description
GTaskBinding.GTASK_QUEUE_NAME String Consumer Name of the task queue.
GTaskBinding.GTASK_TASK_NAME String Consumer Name of the task (generated value).
GTaskBinding.GTASK_RETRY_COUNT int Consumer Number of callback retries.

Message body

On the producer side the in message body is converted to a byte[] and is POSTed to the callback handler as content-type application/octet-stream.

Usage

Setting up tasks queues is an administrative task on Google App Engine. Only one queue is pre-configured and can be referenced by name out-of-the-box: the default queue. This queue will be used in the following examples. Please note that when using task queues on the local development server, tasks must be executed manually from the developer console.

Default queue

...
.to(gtask:default) // add message to default queue

from(gtask:default) // receive message from default queue (via a web hook)
...
Copy to Clipboard Toggle word wrap
This example requires the following servlet mapping.
web.xml
    ...
    <servlet>
        <servlet-name>CamelServlet</servlet-name>
        <servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
        ...
    </servlet>
    ...
    <servlet-mapping>
        <servlet-name>CamelServlet</servlet-name>
        <url-pattern>/worker/*</url-pattern>
    </servlet-mapping>
    ...
Copy to Clipboard Toggle word wrap

Dependencies

Maven users will need to add the following dependency to their pom.xml.
pom.xml
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-gae</artifactId>
    <version>${camel-version}</version>
</dependency>
Copy to Clipboard Toggle word wrap
where ${camel-version} must be replaced by the actual version of Apache Camel (2.1.0 or higher).
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat