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.第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 、および ----------|----- などです。state list 操作は、すべてのアプリケーションに関する情報を 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
|
いいえ
|
イベントタイプの新しい状態
|