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
Copy to Clipboard Toggle word wrap

オプション

Expand
名前 デフォルト値 コンテキスト 説明
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 コンポーネントコンポーネント のすべてのヘッダーと以下がサポートされます。
Expand
名前 タイプ コンテキスト 説明
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)
...
Copy to Clipboard Toggle word wrap
この例では、以下のサーブレットマッピングが必要です。
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 ユーザーは、以下の依存関係を 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
${camel-version} は、実際のバージョンの Apache Camel (2.1.0 以降)に置き換える必要があります。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat