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.第54章 GAE
54.1. GAE コンポーネントの概要 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Google App Engine の Apache Camel コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
重要
GAE コンポーネントは非推奨となり、JBoss Fuse の今後のリリースで削除される予定です。
チュートリアル
- Apache Camel on GAE を使用するためのスタート地点は、Google App Engine 上の Camel のチュートリアルです。
- OAuth チュートリアル は、Web アプリケーションで OAuth を実装する方法を示しています。
Google App Engine (GAE)の Apache Camel コンポーネントは
camel-gae
プロジェクトの一部で、GAE の クラウドコンピューティングサービス への接続を提供します。これにより、Apache Camel インターフェイスを介してアプリケーションが GAE クラウドコンピューティング環境にアクセスできるようになります。他のクラウドコンピューティング環境のこのパターンに従うと、Apache Camel アプリケーションをあるクラウドプロバイダーから別のクラウドコンピューティングプロバイダーに移植しやすくなります。以下の表は、Google App Engine によって提供されるクラウドコンピューティングサービスとサポートする Apache Camel コンポーネントを示しています。各コンポーネントのドキュメントは、Camel Component 列のリンクに従って表示されます。
GAE サービス | Camel コンポーネント | コンポーネントの説明 |
---|---|---|
URL フェッチサービス | ghttp | GAE URL フェッチサービスへの接続を提供しますが、サーブレットからメッセージを受信する場合にも使用できます。 |
タスクキューサービス | gtask | タスクキューをメッセージキューとして使用して、GAE での非同期メッセージ処理をサポートします。 |
メールサービス | gmail | GAE メールサービスを介したメールの送信をサポートします。メールの受信はまだサポートされていませんが、後で追加されます。 |
memcache サービス | サポートされていません。 | |
XMPP サービス | サポートされていません。 | |
イメージサービス | サポートされていません。 | |
データストアサービス | サポートされていません。 | |
Accounts サービス | gauth glogin | これらのコンポーネントは、認証および承認のために Google Accounts API と対話します。Google アカウントは Google App Engine に固有のものではありませんが、セキュリティーを実装するために GAE アプリケーションによって使用されます。gauth コンポーネントは、Google 固有の OAuth コンシューマーを実装するために Web アプリケーションによって使用されます。このコンポーネントは、GAE 以外の Web アプリケーションを有効にするためにも使用できます。glogin コンポーネントは、GAE アプリケーションにプログラムによるログインのために Java クライアント(GAE 外)によって使用されます。GAE アプリケーションを不正アクセスから保護する方法は、セキュリティー ページを参照してください。 |
Camel コンテキスト リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Google App Engine での
SpringCamelContext
の設定は、Camel 2.1 以降のバージョンによって異なります。この問題は、http://camel.apache.org/schema/spring
の Camel 固有の Spring 設定 XML スキーマを使用するには JAXB が必要で、Camel 2.1 は JAXB をサポートしない Google App Engine SDK バージョンに依存することです。この制限は、Camel 2.2 以降から削除されました。
javax.management
パッケージは App Engine JRE のホワイトリストに含まれていないため、JMX は必ず無効にする必要があります。
Apache Camel 2.1 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
camel-gae
2.1 には、以下の CamelContext
実装が同梱されています。
org.apache.camel.component.gae.context.GaeDefaultCamelContext
(org.apache.camel.impl.DefaultCamelContext
の拡張)org.apache.camel.component.gae.context.GaeSpringCamelContext
(org.apache.camel.spring.SpringCamelContext
を拡張)
いずれも起動前に JMX を無効にします。
GaeSpringCamelContext
は、以下の例のようにルートビルダーを追加するセッターメソッドを追加で提供します。
appctx.xml
または、ルートビルダーの一覧を設定するには、
GaeSpringCamelContext
の routeBuilders
プロパティーを使用します。この方法では、JAXB を必要とせずに SpringCamelContext
を GAE に設定できます。
Apache Camel 2.2 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel 2.2 以降では、アプリケーションは
SpringCamelContext
を設定するために http://camel.apache.org/schema/spring
namespace を使用できますが、JMX を無効にする必要があります。以下は例です。
appctx.xml
web.xml リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
GAE で Apache Camel を実行するには、
camel-servlet
から CamelHttpTransportServlet
を使用する必要があります。以下の例は、Spring アプリケーションコンテキスト XML ファイルとともにこのサーブレットを設定する方法を示しています。
web.xml
Spring アプリケーションコンテキスト XML ファイルの場所は、
contextConfigLocation
init パラメーターによって指定されます。appctx.xml
ファイルはクラスパス上にある必要があります。サーブレットマッピングは、Google App Engine にデプロイする際に、http://<appname>.appspot.com/camel/... で Apache Camel アプリケーションにアクセスできるようにします
。< appname
> は実際の GAE アプリケーション名に置き換えます。2 つ目のサーブレットマッピングは、Web フック を介してバックグラウンド処理のためにタスクキューサービスによって内部的に使用されます。このマッピングは gtask コンポーネントに関連し、詳細に説明されています。