248.4. 例
248.4.1. すべてのアプリケーションの一覧表示 リンクのコピーリンクがクリップボードにコピーされました!
// sending route
from("direct:apps")
.to("openshift:myClient?username=foo&password=secret&operation=list");
.to("log:apps");
// sending route
from("direct:apps")
.to("openshift:myClient?username=foo&password=secret&operation=list");
.to("log:apps");
この場合、すべてのアプリケーションに関する情報が pojo として返されます。json レスポンスが必要な場合は、mode=json を設定します。
248.4.2. アプリケーションの停止 リンクのコピーリンクがクリップボードにコピーされました!
// stopping the foobar application
from("direct:control")
.to("openshift:myClient?username=foo&password=secret&operation=stop&application=foobar");
// stopping the foobar application
from("direct:control")
.to("openshift:myClient?username=foo&password=secret&operation=stop&application=foobar");
上記の例では、foobar という名前のアプリケーションを停止します。
ギア状態の変更のポーリング
コンシューマーは、ギアの状態の変更をポーリングするために使用されます。新しいギアが追加/削除/またはそのライフサイクルが変更されたときなど (開始、停止など)。
// trigger when state changes on our gears
from("openshift:myClient?username=foo&password=secret&delay=30s")
.log("Event ${header.CamelOpenShiftEventType} on application ${body.name} changed state to ${header.CamelOpenShiftEventNewState}");
// trigger when state changes on our gears
from("openshift:myClient?username=foo&password=secret&delay=30s")
.log("Event ${header.CamelOpenShiftEventType} on application ${body.name} changed state to ${header.CamelOpenShiftEventNewState}");
consumer が Exchange を発行すると、ボディーにはメッセージボディーとして com.openshift.client.IApplication が含まれます。そして、以下のヘッダーが含まれています。
| ヘッダー | null の可能性があります | 説明 |
|---|---|---|
| CamelOpenShiftEventType | いいえ | 追加、削除、または変更のいずれかのイベントのタイプ。 |
| CamelOpenShiftEventOldState | はい | イベントタイプが変更されたときの古い状態。 |
| CamelOpenShiftEventNewState | いいえ | いずれかのイベントタイプの新しい状態 |