247.4. 例
247.4.1. すべてのアプリケーションの一覧表示
// sending route from("direct:apps") .to("openshift:myClient?username=foo&password=secret&operation=list"); .to("log:apps");
この場合、すべてのアプリケーションに関する情報が pojo として返されます。json レスポンスが必要な場合は、mode=json を設定します。
247.4.2. アプリケーションの停止
// 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}");
コンシューマーが Exchange を発行すると、ボディーにはメッセージボディーとして com.openshift.client.IApplication
が含まれます。そして、以下のヘッダーが含まれています。
ヘッダー | null の可能性があります | 説明 |
---|---|---|
CamelOpenShiftEventType | いいえ | 追加、削除、または変更のいずれかのイベントのタイプ。 |
CamelOpenShiftEventOldState | ○ | イベントタイプが変更されたときの古い状態。 |
CamelOpenShiftEventNewState | いいえ | いずれかのイベントタイプの新しい状態 |