Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.이 콘텐츠는 선택한 언어로 제공되지 않습니다.
48.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
gtask://queue-name
Options 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
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.
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) ...
...
.to(gtask:default) // add message to default queue
from(gtask:default) // receive message from default queue (via a web hook)
...
This example requires the following servlet mapping.
web.xml
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>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-gae</artifactId>
<version>${camel-version}</version>
</dependency>
where
${camel-version}
must be replaced by the actual version of Apache Camel (2.1.0 or higher).