第122章 openshift
OpenShift コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel 2.14 から利用可能
openshift コンポーネントは、OpenShift アプリケーションを管理するためのコンポーネントです。
Maven ユーザーは、このコンポーネントの以下の依存関係を
pom.xml に追加する必要があります。
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
openshift:clientId[?options]
openshift:clientId[?options]
以下の形式で URI にクエリーオプションを追加できます。
?option=value&option=value&...
オプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
|
名前
|
デフォルト値
|
説明
|
|---|---|---|
domain
|
null
|
ドメイン名。指定のない場合は、デフォルトのドメインが使用されます。
|
username
|
|
必須: openshift サーバーにログインするためのユーザー名。
|
password
|
|
必須: openshift サーバーにログインするためのパスワード。
|
server
|
|
openshift サーバーへの URL。指定しない場合、ローカルの openshift 設定ファイル
~/.openshift/express.conf からのデフォルト値が使用されます。それも失敗する場合は、openshift.redhat.com が使用されます。
|
delay
|
10s
|
コンシューマーのみ: アプリケーションの状態変更をポーリングする頻度。デフォルトでは、10 秒ごとにポーリングを行います。
|
operation
|
list
|
プロデューサーのみ: 実行する操作:
list、start、stop、restart、および ----------|----- などです。statelist 操作は、すべてのアプリケーションに関する情報を json 形式で返します。state 操作は、started、stopped などの状態を返します。他の操作は値を返しません。
Camel 2.16: 以下の操作を追加します。
|
application
|
|
プロデューサーのみ: アプリケーション名は
start、stop、restart、または state を取得します。
|
mode
|
|
プロデューサーのみ: メッセージボディーを pojo または json として出力するかどうか。pojo の場合、メッセージは
List<com.openshift.client.IApplication> タイプです。
|
例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
全アプリケーションの一覧表示 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
// 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 を設定します。
アプリケーションの停止 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
// 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}");
コンシューマーがエクスチェンジを出力すると、本文には
com.openshift.client.IApplication がメッセージボディーとして含まれます。また、以下のヘッダーが含まれます。
|
ヘッダー
|
null にすることができます
|
説明
|
|
CamelOpenShiftEventType
|
いいえ
|
イベントのタイプは、追加、削除、または変更のいずれかになります。
|
|
CamelOpenShiftEventOldState
|
はい
|
イベントタイプが変更される場合の古い状態。
|
|
CamelOpenShiftEventNewState
|
いいえ
|
イベントタイプの新しい状態
|