54.7. gtask
gtask コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
重要
GAE コンポーネントは非推奨となり、JBoss Fuse の今後のリリースで削除される予定です。
gtask コンポーネントは、Google App Engine (GAE)の Camel コンポーネントに提供します。これは、タスク キューをメッセージキューとして使用することで、GAE での非同期メッセージ処理をサポートします。キューへメッセージを追加するには、タスクキュー API を使用します。キューからメッセージを受信するには、HTTP コールバックハンドラーをインストールします。ハンドラーは、タスクキューサービスによって開始される HTTP POST コールバック( Web フック)によって呼び出されます。新しいタスクがキューに追加されるたびに、コールバックが送信されます。gtask コンポーネントはこれらの詳細から抽象化され、JMS または SEDA を使用したメッセージキューのように GAE でのメッセージキューを容易にするエンドポイント URI をサポートします。
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
gtask://queue-name
gtask://queue-name
オプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
| 名前 | デフォルト値 | コンテキスト | 説明 |
|---|---|---|---|
workerRoot
|
worker
|
プロデューサー |
コールバックハンドラーのサーブレットマッピング。デフォルトでは、このコンポーネントには /worker/* のコールバックサーブレットマッピングが必要です。別のサーブレットマッピングを使用する場合(例: /myworker/* )は、プロデューサー側でオプションとして設定する必要があります( to ("gtask:myqueue?workerRoot=myworker")。
|
inboundBindingRef
|
GTaskBindingへの参照
|
コンシューマー |
エクスチェンジ のサーブレット API へのバインディングをカスタマイズするための InboundBinding<GTaskEndpoint、HttpServletRequest、HttpServletResponse > への参照。参照バインディングは、org.apache.camel.component.http.HttpBinding への後プロセッサーとして使用されます。
|
outboundBindingRef
|
GTaskBindingへの参照
|
プロデューサー |
エクスチェンジ のタスクキューサービスへのバインディングをカスタマイズするための Registry の OutboundBinding<GTaskEndpoint, TaskOptions, void > への参照。
|
コンシューマー側では、Servlet コンポーネント のすべてのオプションがサポートされます。
メッセージヘッダー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
コンシューマサイドでは、Servlet コンポーネントコンポーネント のすべてのヘッダーと以下がサポートされます。
| 名前 | タイプ | コンテキスト | 説明 |
|---|---|---|---|
GTaskBinding.GTASK_QUEUE_NAME
|
文字列
|
コンシューマー | タスクキューの名前。 |
GTaskBinding.GTASK_TASK_NAME
|
文字列
|
コンシューマー | タスクの名前(生成された値)。 |
GTaskBinding.GTASK_RETRY_COUNT
|
int
|
コンシューマー | コールバックの再試行回数。 |
メッセージボディー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
プロデューサー側では、メッセージボディーは
byte[] に変換され、content-type application/octet-stream としてコールバックハンドラーに POST されます。
使用方法 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
タスクキューの設定は、Google App Engine の管理タスクです。事前設定されたキューは 1 つだけで、
デフォルト のキューは追加設定なしで参照できます。このキューは以下の例で使用されます。ローカル開発サーバーでタスクキューを使用する場合は、開発 者コンソール からタスクを手動で実行する必要があります。
デフォルトのキュー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
... .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)
...
この例では、以下のサーブレットマッピングが必要です。
web.xml
Dependencies リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Maven ユーザーは、以下の依存関係を
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>
${camel-version} は、実際のバージョンの Apache Camel (2.1.0 以降)に置き換える必要があります。