第122章 openshift


OpenShift コンポーネント

Camel 2.14 から利用可能
openshift コンポーネントは、OpenShift アプリケーションを管理するためのコンポーネントです。
Maven ユーザーは、このコンポーネントの以下の依存関係を pom.xml に追加する必要があります。
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-openshift</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>
Copy to Clipboard Toggle word wrap

URI 形式

openshift:clientId[?options]
Copy to Clipboard Toggle word wrap
以下の形式で URI にクエリーオプションを追加できます。 ?option=value&option=value&...

オプション

Expand
名前
デフォルト値
説明
domain
null
ドメイン名。指定のない場合は、デフォルトのドメインが使用されます。
username
必須: openshift サーバーにログインするためのユーザー名。
password
必須: openshift サーバーにログインするためのパスワード。
server
openshift サーバーへの URL。指定しない場合、ローカルの openshift 設定ファイル ~/.openshift/express.conf からのデフォルト値が使用されます。それも失敗する場合は、openshift.redhat.com が使用されます。
delay
10s
コンシューマーのみ: アプリケーションの状態変更をポーリングする頻度。デフォルトでは、10 秒ごとにポーリングを行います。
operation
list
プロデューサーのみ: 実行する操作: liststartstoprestart、および ----------|----- などです。statelist 操作は、すべてのアプリケーションに関する情報を json 形式で返します。state 操作は、started、stopped などの状態を返します。他の操作は値を返しません。
Camel 2.16: 以下の操作を追加します。
  • getStandaloneCartridge スタンドアロンカートリッジの表示名を返します。
  • getEmbeddedCartridges インストールされた埋め込みカートリッジの一覧を返します。
  • addEmbeddedCartridge 操作は、ヘッダー CamelOpenShiftEmbeddedCartridgeName のインターフェイス IEmbeddableCartridge で名前を指定して、埋め込み可能なカートリッジの最新バージョンを追加し、カートリッジの表示名を返します。
  • removeEmbeddedCartridge 操作は、ヘッダー CamelOpenShiftEmbeddedCartridgeName のインターフェイス IEmbeddableCartridge でその名前を指定し、カートリッジの表示名を返すことで、埋め込みカートリッジを削除します。
application
プロデューサーのみ: アプリケーション名は startstoprestart、または 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");
Copy to Clipboard Toggle word wrap
この場合、すべてのアプリケーションに関する情報が pojo として返されます。json 応答が必要な場合は、mode=json を設定します。

アプリケーションの停止

// stopping the foobar application
from("direct:control")
    .to("openshift:myClient?username=foo&password=secret&operation=stop&application=foobar");
Copy to Clipboard Toggle word wrap
上記の例では、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}");
Copy to Clipboard Toggle word wrap
コンシューマーがエクスチェンジを出力すると、本文には com.openshift.client.IApplication がメッセージボディーとして含まれます。また、以下のヘッダーが含まれます。
Expand
ヘッダー
null にすることができます
説明
CamelOpenShiftEventType
いいえ
イベントのタイプは、追加、削除、または変更のいずれかになります。
CamelOpenShiftEventOldState
はい
イベントタイプが変更される場合の古い状態。
CamelOpenShiftEventNewState
いいえ
イベントタイプの新しい状態
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat