Red Hat Training

A Red Hat training course is available for Red Hat JBoss Operations Network

27.5. Ant Bundles の作成

バンドル は、サーバーに保存され、エージェントがダウンロードしてプラットフォームまたはリソースにデプロイするアーカイブファイルです。バンドルディストリビューションは 2 つの要素で構成されます。
  • Ant レシピファイルの名前 deploy.xml
  • 関連するアプリケーションファイル。これらのアプリケーションファイルは、あらゆるものになりますが、一般的には 2 つのカテゴリーに分類されます。
    • アーカイブファイル(JAR または ZIP ファイル)
    • バンドルのデプロイ時にユーザーが値を定義するトークンが含まれる raw テキスト設定ファイル
注記
Ant レシピを実際に作成するプロセスおよびガイドラインは、本書の対象外です。本書では、JBoss ON プロビジョニングシステムと連携するために 特に Ant レシピを使用するためのオプションおよび要件について説明します。
Ant タスクを記述するための基本的な手順、オプション、およびチュートリアルは、の Apache Ant ドキュメントを参照してください http://ant.apache.org/manual/index.html

27.5.1. サポート対象の Ant バージョン

表27.1 Ant および Ant Task Versions

ソフトウェア version
ant 1.8.0
Ant-Contrib 1.0b3

27.5.2. 追加の Ant References

プロビジョニングは Ant 設定およびタスクに依存するため、Ant ビルドプロセスについての適切な理解は有益です。追加の Ant 情報には、複数のリソースがあります。

27.5.3. Ant Recipe の内訳

JBoss ON バンドルの Ant レシピは、標準の Apache Ant ファイルと同じ基本ファイルで、JBoss ON の統合された Ant ビルドシステムによって処理されます。この Ant レシピファイルは、ディストリビューションの ZIP ファイルの top ディレクトリーにバンドルして名前を付ける必要があり deploy.xmlます。
JBoss ON Ant レシピでは、Ant ビルドで利用可能なすべての標準タスクが可能で、複雑なアプリケーションのデプロイメントを柔軟にスクリプト化できます。JBoss ON Ant レシピは、プロビジョニングプロセスによって使用されるデプロイメントに関する追加情報も提供 する必要 があります。これには、宛先に関する情報と、アプリケーション自体に関するメタデータが含まれます。

例27.1 Simple Ant Recipe

Ant レシピは、Ant ターゲットを呼び出してプロビジョニング後の操作を行うことができますが、Ant レシピは true スクリプトファイルよりも多くの定義ファイルです。その他の Ant スクリプトと同様に、JBoss ON Ant レシピは <project> ルート要素と定義されたターゲットとタスクを持つ標準の XML ファイルを使用します。この <rhq:bundle> エリアで定義された要素は、プロジェクトのビルド時にメタデータを JBoss ON プロビジョニングシステムに渡します。
ファイルの最初の部分は単に deploy.xml ファイルをスクリプトとして識別し、provisioning Ant 要素を参照します。
<project name="test-bundle" default="main" 
 xmlns:rhq="antlib:org.rhq.bundle">
次の要素は、特定のバンドルファイル自体を特定します。プロビジョニングシステムは、同じアプリケーションの複数のバージョンを管理およびデプロイできます。この <rhq:bundle> 要素には、バンドルの特定バージョンに関する情報が含まれます(ただし、実際には、オプションのバージョン番号が含まれます)。
    <rhq:bundle name="Example App" version="2.4" description="an example bundle">
レシピに 必要な のは、アプリケーションの名前を定義する <rhq:bundle> 要素のみです。ただし、bundle 要素にはアプリケーションに関する情報がすべて含まれ、プロビジョニングシステムがアプリケーションに含まれるコンテンツを処理する方法が重要になります。
address の最初の項目は、設定ファイルで使用される テンプレート化されたプロパティー です。これは、で説明してい 「Templatized 設定ファイルの使用」 ます。設定ファイルで使用されるトークンは、プロビジョニング時に(値を提供するため)レシピで定義する必要があります。で定義された port トークンでは 「Templatized 設定ファイルの使用」<rhq:input-property> 要素はレシピで識別します。name 引数は token の input_field 値で、description 引数は UI で使用されるフィールドの説明と、値が必要であるかどうか、許可される構文、および指定するデフォルト値を設定します。(これはトークン自体を使用するファイルを一覧表示せず、トークン自体のみを使用します。)
 <rhq:input-property
            name="listener.port"
            description="This is where the product will listen for incoming messages"
            required="true"
            defaultValue="8080"
            type="integer"/>
バンドルによってデプロイされたすべてのコンテンツ(要素)を識別する単一の <rhq:deployment-unit> 要素があります。アプリケーション全体(ZIP または JAR ファイル、設定ファイル、Ant ターゲット)は、すべて <rhq:deployment-unit> 親要素で定義されます。
名前と Ant ターゲットは、<rhq:deployment-unit> 直接の引数として定義されます。これにより、がで、preinstall ターゲットと appserver、インストール後のターゲットが 1 つ設定されています。
        <rhq:deployment-unit name="appserver" preinstallTarget="preinstall" postinstallTarget="postinstall" compliance="filesAndDirectories">
要素には、他の重要な <rhq:deployment-unit> 要素が 1 つあり compliance ます。プロビジョニングは単にファイル上のコピーを行うのではなく 「プロビジョニング中のファイル処理」、で説明しているようにディレクトリーを再作成します。バンドルのデプロイ時にデプロイメントディレクトリーに既存のファイルがある場合は、デフォルトで削除されます。filesAndDirectories compliance設定 すると、プロビジョニングプロセスでデプロイメントディレクトリーを管理し ませ ん。つまり、バンドルのデプロイ時に既存のファイルは単独で残されます。
root ディレクトリー内の既存のコンテンツは削除前にバックアップされるため、後で復元できます。バックアップディレクトリーは resourceID /home/.rhqdeployments/です/backup
すべての設定ファイルは <rhq:file> 要素で識別されます。nameバンドル内の設定ファイルの 名前で、destinationFile はデプロイ後のファイルの相対パスおよびファイル名になります。
 <rhq:file name="test-v2.properties" destinationFile="conf/test.properties" replace="true"/>
バンドルには、ZIP または JAR ファイルのいずれかのアーカイブファイルを含めることができます。すべてのアーカイブファイルは deployment-unit 内の <rhq:archive> 要素で識別されます。<rhq:archive> 要素は以下の 3 つのことを行います。
  • 名前でアーカイブファイルを特定します。
  • アーカイブの処理方法を定義します。簡単に説明すると、アーカイブをコピー先にコピーしてそのままにするか、アーカイブをアーカイブとしてそのままにするか、またはデプロイ後にアーカイブを抽出するかどうかを設定します。これはアーカイブの展開 呼ばれます。アーカイブが展開される場合は、必要に応じて、postinstall タスクを呼び出してファイルを移動するか、または編集できます。
  • 永続する必要のあるトークンが含まれるアーカイブ内のファイルを特定します。これは子要素です <rhq:fileset>。これにより、ワイルドカードを使用してサブディレクトリーにファイルの種類やファイルを追加したり、処理するファイルを明示的に記述したりできます。
            <rhq:archive name="MyApp.zip" exploded="true">
                <rhq:replace>
                    <rhq:fileset>
                        <include name="**/*.properties"/>
                    </rhq:fileset>
                </rhq:replace>
            </rhq:archive>
もう 1 つの子要素は、バンドルの一部ではないデプロイメントディレクトリー内のファイルの処理方法を設定します。たとえば、アプリケーションはログファイルを生成したり、ユーザーがコンテンツをアップロードできる場合もあります。デフォルトでは、プロビジョニングプロセスはバンドルがプロビジョニングされるたびに、バンドル以外のコンテンツからディレクトリーをクリーンアップします。ただし、ログ、ユーザー提供のデータ、およびその他の種類のファイルは、プロビジョニング後もそのまま維持されるデータです。プロビジョニングプロセス(つまり保持)によって無視されるべきファイルまたはサブディレクトリーは、<rhq:ignore> 要素で識別されます。この場合、logs/ ディレクトリー内の *.log ファイルはすべて保存されます。
            <rhq:ignore>
                <rhq:fileset>
                    <include name="logs/*.log"/>
                </rhq:fileset>
            </rhq:ignore>
        </rhq:deployment-unit>
    </rhq:bundle>
これは、バンドルのアップグレードのみに適用され、初回のデプロイメント にのみ適用されます。
最後の要素は、<rhq:deployment-unit> 引数で最初に特定されたように、コンテンツのデプロイ前または後に実行する Ant タスクを設定します。一般的な Ant タスクの大半は(を参照 「Ant Task の使用」)サポートされます。これは、preinstall タスクを使用して、バンドルがデプロイされているディレクトリーと、操作が成功したかどうかをプリントします。postinstall タスクは、デプロイメントが完了するとメッセージを出力します。
<target name="main" />

    <target name="preinstall">
        <echo>Deploying Test Bundle v2.4 to ${rhq.deploy.dir}...</echo>
 <property name="preinstallTargetExecuted" value="true"/>
 <rhq:audit status="SUCCESS" action="Preinstall Notice" info="Preinstalling to ${rhq.deploy.dir}" message="Another optional message"> 
  Some additional, optional details regarding 
  the deployment of ${rhq.deploy.dir} 
 </rhq:audit> 
    </target>

    <target name="postinstall">
        <echo>Done deploying Test Bundle v2.4 to ${rhq.deploy.dir}.</echo>
        <property name="postinstallTargetExecuted" value="true"/>
    </target>
</project>
「JBoss ON Ant Recipe 要素のリファレンス」 Ant レシピファイルのさまざまな JBoss ON 要素を一覧表示します。標準の Ant タスクの詳細は Apache Ant のドキュメントを参照してください

27.5.4. Ant Task の使用

Ant バンドルディストリビューションファイルは、ant レシピとその関連ファイルです。前述のように 「Ant Recipe の内訳」、Ant レシピは JBoss ON 固有の要素が含まれる想定される deploy.xml ファイルです。Ant バンドルディストリビューションファイルは、Ant タスクやターゲットを含むより複雑な Ant 設定をサポートします。

27.5.4.1. サポート対象の Ant Task

標準の Ant タスクは、Ant バンドルプロビジョニングの一部として実行できます( <antcall> およびを除く <macrodef>)。これには echo、、、、mkdir、、などの一般的 touch なコマンドが含まれます。
重要
Ant レシピでは <antcall> 要素を使用 できませんdeploy.xml ファイル内のターゲットを <antcall> 呼び出し、再度呼び出しを行う <antcall> タスクを再度呼び出す deploy.xml ファイルに対してループします。これにより無限ループが作成されます。
と同じ操作を実行するには <antcall><ant> タスクを使用してカスタム Ant ターゲットが含まれる別の XML ファイルを参照します。これは、で説明してい 「Ant ターゲットの呼び出し」 ます。
重要
macrodef 呼び出し、つまりマクロ定義は Ant バンドルではサポートされません。
標準の Ant タスクに加えて、Ant バンドルレシピはオプションの Ant タスクを使用できます。

27.5.4.2. デフォルト、インストール前、およびインストール後のターゲットの使用

他の Ant タスクと同様に、プロビジョニングシステムで必要となるデフォルトのターゲットを <project> 許可します。Ant レシピは主にプロビジョニングプロセスで使用されるファイルのメタデータを定義し、特定するため、これは no-op です。他の操作は必要ありません。このターゲットは、no-op ターゲットであっても Ant で必要です。ターゲットの pre- および post-install ターゲットを使用して、展開される前および後にバンドルでタスクを実行します。
例:
<target name="main" />
さらに、JBoss ON のプロビジョニングタスクは、インストール前およびインストール後のターゲットの両方を定義することができます。これにより、単純な進捗メッセージやプロパティーの設定などのカスタムタスクが可能になります。

27.5.4.3. Ant ターゲットの呼び出し

の説明にあるように 「サポート対象の Ant Task」、Ant バンドルレシピで <antcall> は使用は機能しません。自己参照的にその <rhq:bundle> タスクを無限ループで呼び出します。ただし、デフォルトのターゲット にあるタスクを処理することは可能です。これは、インストール前およびインストール先(「デフォルト、インストール前、およびインストール後のターゲットの使用」)を使用して実行できます。
  1. Ant レシピ deploy.xml では、Ant ターゲットを識別する <rhq:deployment-unit> 要素を追加します。
    <rhq:deployment-unit name="jar" postinstallTarget="myExampleCall">
  2. 次に、ターゲットを定義します。
        <target name="myExampleCall">
           <ant antfile="another.xml" target="doSomething">
              <property name="param1" value="111"></property>
           </ant>
        </target>
    
  3. another.xml ファイルと同じディレクトリーに別の deploy.xml ファイルを作成します。このファイルには Ant タスクが含まれます。
    
    <project name="another" default="main">
        <target name="doSomething">
           <echo>inside doSomething. param1=${param1}</echo>
        </target>
    </project>
    

27.5.5. Templatized 設定ファイルの使用

バンドルには、アプリケーションの設定ファイルを含めることができます。これらの設定ファイルはハードコーディングされた値を使用でき、バンドルが実際にデプロイされる際に(自動またはユーザー提供の値)に入力された トークン を使用できます。
注記
ユーザー定義トークンを生成するには、バンドルデプロイメントウィザードが Ant レシピの <rhq:input-property> キーを使用して値を要求するようにレシピで参照する必要があります。例については、「rhq:input-property」 およびを参照してください 「Ant Recipe の内訳」
ユーザー定義のトークンはプロパティーにすることができます。値はプロビジョニング UI で提供され、templatized 設定ファイルに挿入されます。
トークンキーは単純な属性/値のアサーションで、input_field が UI の要素となり、プロパティー は設定ファイルの値になります。ユーザー定義トークンのプロパティーには、英数字、アンダースコア(_)、ピリオド(.)のみを含める必要があります。他の文字は使用できません。
input_field=@@property@@
たとえば、設定ファイルにポート番号トークンを設定するには、プロパティーを定義します。
port=@@listener.port@@
次にユーザー定義のトークンをレシピで記載する必要があります。これにより、プロビジョニングプロセスでフレーズが認識されるようにします。Ant レシピでプロパティーを設定するには、Ant XML ファイルに <rhq:input-property> キーを追加します。
例:
<rhq:input-property
    name="listener.port"
    ... />
プロビジョニングウィザードでは、レシピで参照されるユーザー定義トークンすべての値の入力が求められます。

図27.3 プロビジョニング中のポートトークン

プロビジョニング中のポートトークン
レシピファイルで指定できるユーザー定義の変数とともに、レシピが暗黙的に使用できる変数があります。これらのトークンは、レシピ自体でトークンテンプレートを定義することなく、ユーザー定義の変数としてテンプレート化ファイルで使用できます。

表27.2 JBoss ON によって定義される変数

token description
rhq.deploy.dir バンドルがインストールされるディレクトリーの場所。
rhq.deploy.id 特定のバンドルデプロイメントに割り当てられる一意の ID。
rhq.deploy.name バンドルデプロイメントの名前。
また、一部のトークンは、ローカルシステムからのプロビジョニングプロセスプル情報によって起動できます。に一覧表示されるこれらの値は 表27.3「システム定義トークン」、Java API または Java システムプロパティーのいずれかから取得されます。レシピに対応するエントリーを配置することなく、設定ファイルをテンプレート化された設定ファイルに直接挿入できます。例:
@@rhq.system.hostname@@

表27.3 システム定義トークン

トークン名 取得元... Java API
rhq.system.hostname Java API SystemInfo.getHostname()
rhq.system.os.name Java API SystemInfo.getOperatingSystemName()
rhq.system.os.version Java API SystemInfo.getOperatingSystemVersion()
rhq.system.os.type Java API SystemInfo.getOperatingSystemType().toString()
rhq.system.architecture Java API SystemInfo.getSystemArchitecture()
rhq.system.cpu.count Java API SystemInfo.getNumberOfCpus()
rhq.system.interfaces.java.address Java API InetAddress.getByName(SystemInfo.getHostname()).getHostAddress()
rhq.system.interfaces.network_adapter_name.mac Java API NetworkAdapterInfo.getMacAddress()
rhq.system.interfaces.network_adapter_name.type Java API NetworkAdapterInfo.getType()
rhq.system.interfaces.network_adapter_name.flags Java API NetworkAdapterInfo.getAllFlags()
rhq.system.interfaces.network_adapter_name.address Java API NetworkAdapterInfo.getUnicastAddresses().get(0).getHostAddress()
rhq.system.interfaces.network_adapter_name.multicast.address Java API NetworkAdapterInfo.getMulticastAddresses().get(0).getHostAddress()
rhq.system.sysprop.java.io.tmpdir Java システムプロパティー  
rhq.system.sysprop.file.separator Java システムプロパティー  
rhq.system.sysprop.line.separator Java システムプロパティー  
rhq.system.sysprop.path.separator Java システムプロパティー  
rhq.system.sysprop.java.home Java システムプロパティー  
rhq.system.sysprop.java.version Java システムプロパティー  
rhq.system.sysprop.user.timezone Java システムプロパティー  
rhq.system.sysprop.user.region Java システムプロパティー  
rhq.system.sysprop.user.country Java システムプロパティー  
rhq.system.sysprop.user.language Java システムプロパティー  

27.5.6. JBoss ON プロパティーおよび Ant プロパティーの処理

で説明されているように 「Templatized 設定ファイルの使用」、JBoss ON は <rhq:input-property> タグで独自のレシピプロパティーを定義します。これらは入力プロパティーです。バンドルのデプロイ時には、サーバーはファイルの設定を解析し、入力プロパティーの入力を要求します。その後、これらのユーザー定義の値を使用してバンドルをデプロイします。
JBoss ON は Ant <property> タグの使用もサポートしますが、通常の Ant ビルドシステムよりも限定的な方法です。
バンドルをデプロイするには、JBoss ON サーバーにバンドルエンティティーを作成し、JBoss ON エージェントを介してそのバンドルを管理対象リソースにインストールするという 2 つの手順があります。通常の Ant ビルドシステムとは異なり、以下のステップは異なるマシンで行わ れます。
システムを理解することが重要です。したがって、この 2 つのビルドステップを実行する環境は異なります。これはバンドルの全体的な処理ワークフローに影響し、Ant ビルドプロセスの制限を行います。
バンドルがアップロード(作成)の場合、JBoss ON サーバーは Ant レシピをチェックして必要なバンドルファイルを確認します。これは <rhq:archive>、アーカイブファイルの <rhq:bundle> 要素と、その他の関連するコンテンツを処理することを意味します。
この時点で、サーバーはバンドル設定を処理せず、JBoss ON 入力プロパティーまたは Ant proprities のいずれかのプロパティーを評価します。これは、多くの JBoss ON 入力プロパティーが環境固有で、これらのプロパティーの拡張を試みると、バンドルが最終的に管理対象プラットフォームにデプロイされるときに必要なものとは異なるバンドル設定(Java バージョン、オペレーティングシステムバージョン、ファイルシステムの場所など)が異なります。
Ant プロセスのすべてを JBoss ON エージェントプラットフォームに移動すると、Ant プロパティーの処理方法は通常の Ant ビルドサーバーとは異なります。一般的な Ant 実装では、Ant プロパティーを使用して、ファイル名やバージョン番号などのレシピのコア要素を初期化できます。ただし、Ant スクリプトは JBoss ON サーバーで実行されないため、テンプレート化されたプロパティーを拡張することはできません。つまり、必要な設定(アーカイブ名、他のファイル、名前、バージョン番号など)は Ant プロパティーまたは JBoss ON 入力プロパティーのいずれかで概念化できません。サーバーが値を要求するには、明示的に指定するか、空のままにする必要があります。別の方法では、スクリプトの実行時に使用されるプロパティーは無視されますが、必要なプロパティーの前に定義された値が必要です。設定内のこの時点でのテンプレート化された値はリテラル値として処理されます。

27.5.7. Ant Recipes の制限および考慮事項

27.5.7.1. サポートされない Ant Task

に記載されているように 「サポート対象の Ant Task」、ほとんどの標準の Ant タスクはバンドルレシピで使用するためにサポートされていますが、サポートされないタスクがいくつかあります。
  • <antcall> (代わりに、<ant> を使用して、Ant ターゲットを含むバンドルの個別の XML ファイルを参照するのに使用します)。
  • <macrodef> マクロ定義

27.5.7.3. 警告: 管理対象(ターゲット)のディレクトリーおよび上書き/保存ファイル

Ant レシピで考慮すべき重要な点として、deployment ディレクトリー内のファイルを処理する方法が挙げられます。(これはオンになってい 「プロビジョニング中のファイル処理」 ます。)
デフォルトでは、バンドルのデプロイまたは更新は、バンドルを上書きまたは削除して、デプロイメントディレクトリーのすべての内容に置き換わります。ファイル処理ルールは、RPM パッケージのアップグレードルールと非常に似ています。これは非常に簡素化されますが、プロビジョニングプロセスはデプロイメントディレクトリーの既存のファイルに対して 2 つのいずれかの方法で応答します。
  1. 現行ディレクトリーのファイルもバンドルに含まれます。この場合、バンドルファイルは常に現在のファイルを上書きします。(これに 1 つの例外があります。バンドルのファイルが更新されず、ローカルファイルと同じバージョンであるものの、ローカルファイルが変更されている場合。この場合、ローカルファイルは保持されます。)
  2. 現在のディレクトリーのファイルはバンドルに存在しません。この場合、バンドルは現在のディレクトリーのファイルを削除します。
ファイルの削除時に #2 の動作は、Ant レシピの設定により変更できます。
プロビジョニング時にファイルの保持方法(、compliance、および)を管理する方法は 3 つあります <rhq:ignore> cleanDeployment

コンプライアンス

デプロイするアプリケーションに関する情報はすべて、バンドルレシピの <rhq:deployment-unit> 要素で定義されます。<rhq:deployment-unit> 要素の compliance 属性は、プロビジョニングプロセスが deployment ディレクトリー内の既存のファイルを処理する方法を設定します。

デフォルト値は compliance=full です。これは、プロビジョニングプロセスで root ディレクトリー内の他のファイルをすべて削除することを意味します。
注記
root ディレクトリー内の既存のコンテンツは削除前にバックアップされるため、後で復元できます。
バックアップディレクトリーは resourceID /home/.rhqdeployments/です/backup
または、この値を filesAndDirectories に設定することもできます。これは、バンドルに対応するファイルがない場合に、root ディレクトリー内の既存ファイルをすべて無視するようにプロビジョニングプロセスに指示します。
この compliance 属性は初期デプロイメントとアップグレード操作の両方に適用されるため、これによりバンドルがデプロイされる前にディレクトリーに存在する可能性があるファイルを保存することができます。
を参照してください 「rhq:deployment-unit」
注記
リソースでバンドルが使用されなくなった場合は、ファイルシステムから完全に削除できます。これは パージ と呼ばれます。バンドルミラーをパージする際に、プロビジョニングシステムがファイルを処理する方法(システムのプロビジョニング時にファイルを処理する方法)。デフォルトでは、バンドルをパージすると、デプロイメントディレクトリーにあるすべてが削除されます。コンプライアンスオプションがバンドルの filesAndDirectories に設定 れている場合、プロビジョニングプロセスによりバンドルに関連付けられたファイルおよびディレクトリーがすべて削除され、関連しないファイルやディレクトリーがそのまま残されます。

<rhq:ignore>

バンドルのデプロイメント後も保持する必要のあるバンドルとは別に、アプリケーションによって使用または作成されるファイルが存在する可能性があります。これには、ログファイル、インスタンス固有の設定ファイル、イメージなどのユーザー提供のコンテンツなどが含まれます。これらのファイルはプロビジョニングプロセス中に無視でき、ファイルを削除するのではなく保存されます。

ファイルを保存するには、<rhq:ignore> 要素を使用し、保存するディレクトリーまたはファイルをリストします。
<rhq:ignore>
    <rhq:fileset>
        <include name="logs/*.log"/>
    </rhq:fileset>
</rhq:ignore>
<rhq:ignore> 要素はバンドルが更新される場合にのみ適用されます。バンドルが最初にプロビジョニングされている場合は適用されません。
また、<rhq:ignore> 要素はバンドル外部に存在するファイルにのみ適用されます。バンドルのファイルはすべて、<rhq:ignore> 要素で指定されていてもデプロイメントディレクトリーの対応するファイルは上書きされます。
を参照してください 「rhq:ignore」

デプロイメントのクリーニング

compliance および <rhq:ignore> はいずれもレシピで設定されます。バンドルが実際にプロビジョニングされる時点で、クリーンなデプロイメント を実行するオプションがあります。clean デプロイメントオプションは、デプロイメントディレクトリーのすべてのものを削除し、レシピの compliance および <rhq:ignore> 設定にかかわらず、バンドルをクリーンディレクトリーにプロビジョニングします。

27.5.8. JBoss ON Ant Recipe 要素のリファレンス

27.5.8.1. rhq:bundle

Ant バンドルレシピに必要な主な JBoss ON 関連の Ant タスクの定義が含まれます。この要素はバンドルの基本情報を定義し、バンドルの内容およびプロビジョニング方法に関する固有のすべての詳細の親要素です。

表27.4 要素の属性

attribute description Optional または Required
Name バンドルに指定された名前。 必須
version この特定のバンドルのバージョン文字列。バンドルには同じ名前を付けることはできますが、その名前の各バンドルには固有のバージョン文字列を指定する必要があります。これらのバージョン文字列は通常、1.0 またはなどのバージョン管理の OSGi スタイルに従い 1.2.FINALます。 必須
description この特定のバンドルバージョンの分かりやすい説明。 任意

例27.2 rhq:bundle

<rhq:bundle name="example" version="1.0" description="an example bundle">

27.5.8.2. rhq:input-property

バンドルのデプロイ時にユーザーによって提供された値が必要なテンプレートトークンを定義するバンドルタスクにプロパティーを追加します。これは標準の Ant プロパティーと似ています。
注記
に記載されているシステムプロパティーおよび Ant 固有のトークン 「Templatized 設定ファイルの使用」 はすべて、<rhq:input-property> 定義を設定 せず にバンドル設定のテンプレートトークンとして使用できます。
すべての入力プロパティーは、バンドルがリソースでプロビジョニングされるときにユーザーによって定義される値を持つ一部のパラメーターを設定し、これらの値を入力するフィールドは JBoss ON UI バンドルデプロイメントウィザードに自動的に生成されます。

表27.5 要素の属性

attribute description Optional または Required
Name ユーザー定義プロパティーの名前。レシピ内では、このプロパティーを ${property_name の形式でこの名前で参照でき}ます。 必須
description プロパティーの読み取り可能な説明。これは、バンドルのデプロイ時に JBoss ON バンドル UI に表示されるテキスト文字列です。 必須
type
ユーザー定義の値で使用できる構文を設定します。以下のオプションは複数あります。
  • string
  • longString
  • long
  • password
  • file
  • ディレクトリー
  • ブール値
  • 整数
  • float
  • double
必須
必須 設定にプロパティーが必要であるか、または任意かを設定します。デフォルト値はで false、プロパティーは任意です。この引数を指定しない場合は、プロパティーが任意であることを前提とします。 任意
defaultValue バンドルのデプロイ時にユーザーが値を定義しない場合に、使用するプロパティーの値を指定します。 任意

例27.3 rhq:input-property

<rhq:input-property
    name="listener.port"
    description="This is where the product will listen for incoming messages"
    required="true"
    defaultValue="8080"
    type="integer"/>

27.5.8.3. rhq:deployment-unit

バンドルによってデプロイされるアプリケーションや設定ファイルなどのバンドルコンテンツを定義します。デプロイメントユニットは、単純なテキストファイル、アーカイブ、またはアプリケーションサーバー、Web サーバー、またはデータベースを含む完全なソフトウェア製品です。デプロイメントユニットには、複数のアーカイブおよび設定ファイルを関連付けることができます。
一度に 1 つのデプロイメントユニットのみがプロビジョニングプロセスによりプロビジョニングされるため、バンドルレシピには 1 つの <rhq:deployment-unit> 要素のみを使用できます。

表27.6 要素の属性

attribute description Optional または Required
Name アプリケーションの名前。 必須
コンプライアンス
JBoss ON がバンドルがデプロイされているトップルートディレクトリー(デプロイメントディレクトリー)のすべてのファイルを管理すべきかどうかを設定します。filesAndDirectories の場合、トップデプロイメントディレクトリー(バンドルに含まれ ない ファイル)にある関連ファイルはすべて無視され、今後のバンドル更新のデプロイ時に上書きまたは削除されません。デフォルトは full です。これは、プロビジョニングプロセスがすべてのファイルおよびディレクトリーを管理し、バンドルにないものを削除または上書きすることを意味します。
root ディレクトリー内の既存のコンテンツは削除前にバックアップされるため、後で復元できます。バックアップディレクトリーは resourceID /home/.rhqdeployments/です/backup
任意
preinstallTarget デプロイメントユニットのインストール前に呼び出される Ant ターゲット。 任意
postinstallTarget デプロイメントユニットのインストール後に呼び出される Ant ターゲット。 任意

例27.4 rhq:deployment-unit

<rhq:deployment-unit name="appserver" preinstallTarget="preinstall" postinstallTarget="postinstall">

27.5.8.4. rhq:archive

アプリケーションのデプロイに関連するアーカイブファイルを定義します。アーカイブは ZIP または JAR ファイルになります。バンドルはアーカイブファイルを必要としないため、この要素は任意です。
注記
この名前には、明示的な値が必要です。Ant ${} プロパティー定義は処理されません。

表27.7 要素の属性

attribute description Optional または Required
Name
バンドルに追加するアーカイブファイルのファイル名。
重要
アーカイブファイルがバンドルディストリビューションの ZIP ファイル内の Ant レシピファイルでパッケージ化されている場合は、ZIP ファイルのアーカイブファイルの場所への 相対パス を含める name 必要があります。
必須
Exploqued アーカイブのコンテンツがバンドル宛先ディレクトリー(true)に抽出および保存されるかどうか、または name 属性(false)に指定されるファイルと同じ相対ディレクトリーに保存するかどうかを設定します。ファイルが展開される場合、デプロイメントディレクトリーから展開されます。インストール後のターゲットは、展開後にファイルを移動するために使用できます。 任意
destinationDir このアーカイブまたは展開形式の結果がコピーされるディレクトリー。これが相対パスである場合、バンドルのデプロイ時にユーザーが指定するデプロイメントディレクトリーと相対的です。これが絶対パスである場合、ファイルがコピーされるファイルシステムの場所になります。この属性は、コピー先のファイルのディレクトリーを設定します。実際のファイル名は name 属性に設定されます。 任意

例27.5 rhq:archive

<rhq:archive name="file.zip">
    <rhq:replace>
         <rhq:fileset>
               <include name="**/*.properties"/>
         </rhq:fileset>
    </rhq:replace>
</rhq:archive>

27.5.8.5. rhq:url-archive

指定の URL を使用してアクセスするリモートアーカイブを定義します。これは、サーバーがバンドルディストリビューションファイルにアーカイブを直接組み込むのではなく、ネットワーク経由でアーカイブにアクセスする rhq:archive 点が異なります。

表27.8 要素の属性

attribute description Optional または Required
url
アーカイブファイルの場所に URL を指定します。アーカイブがデプロイメントディレクトリーにダウンロードされ、インストールされます。
注記
バンドルが正常にデプロイされるようにするには、このバンドルがデプロイされるすべてのエージェントマシンから URL にアクセスできる必要があります。エージェントが URL にアクセスできない場合、アーカイブをプルダウンできず、これをマシンにデプロイすることができません。
必須
Exploqued true の場合、アーカイブのコンテンツは展開され、バンドル宛先ディレクトリーに保存されます。false の場合、zip ファイルは圧縮され、最上位の宛先ディレクトリーに保存されます。
注記
ファイルが展開される場合、デプロイメントディレクトリーから展開されます。インストール後のターゲットは、展開後にファイルを移動するために使用できます。
任意
destinationDir このアーカイブまたは展開形式の結果がコピーされるディレクトリー。これが相対パスである場合、バンドルのデプロイ時にユーザーが指定するデプロイメントディレクトリーと相対的です。これが絶対パスである場合、ファイルがコピーされるファイルシステムの場所になります。この属性は、コピー先のファイルのディレクトリーを設定します。実際のファイル名は name 属性に設定されます。 任意

例27.6 rhq:url-archive

<rhq:url-archive url="http://server.example.com/apps/files/archive.zip">
    <rhq:replace>
         <rhq:fileset>
               <include name="**/*.properties"/>
         </rhq:fileset>
    </rhq:replace>
</rhq:url-archive>

27.5.8.6. rhq:file

アプリケーションの設定ファイルを特定し、処理するための情報が含まれます。これには、トークンの値が必要です。通常、設定ファイルはバンドルパッケージからデプロイメントディレクトリーに直接コピーされます。<rhq:file> 要素は、宛先にコピーされる前に処理を必要とするファイルを呼び出します。<rhq:file> 要素の属性は、バンドルディストリビューションの ZIP ファイルの raw ファイルの名前と、コピー先のターゲットファイルの名前を設定します。
raw ファイルは、アプリケーションのプロパティーまたは設定が含まれるアーカイブファイルに追加できます。これらの設定ファイルは、に記載されるようにユーザー定義トークンまたはシステム定義トークンでテンプレートすることができ 「Templatized 設定ファイルの使用」 ます。テンプレート化されたバンドルディストリビューションファイルに含まれるテンプレート化されたファイルは、それらを処理し、トークンが永続化されるように Ant レシピにリストする必要があります。
注記
この名前には、明示的な値が必要です。Ant ${} プロパティー定義は処理されません。

表27.9 要素の属性

attribute description Optional または Required
Name
未編集設定ファイルの名前。
重要
設定ファイルがバンドルディストリビューションの ZIP ファイル内の Ant レシピファイルでパッケージ化されている場合は、ZIP ファイル内のファイルの場所への 相対パス を含める name 必要があります。
必須
destinationFile
宛先リソースのファイルの完全なパスおよびファイル名。相対パスは、最終的なデプロイメントディレクトリー(バンドルのデプロイ時に rhq.deploy.dir パラメーターで定義)への相対パスである必要があります。ディレクトリーとファイル名の両方が指定されていれば、絶対パスを使用することもできます。
注記
destinationDir 属性が使用されると、destinationFile 属性は使用 できません
必須(destinationDir を使用しない場合)
destinationDir
このファイルがコピーされるディレクトリー。これが相対パスである場合、バンドルのデプロイ時にユーザーが指定するデプロイメントディレクトリーと相対的です。これが絶対パスである場合、ファイルがコピーされるファイルシステムの場所になります。
この属性は、コピー先のファイルの ディレクトリー を設定します。実際のファイル名は name 属性に設定されます。
destinationFile 属性が使用されると、destinationDir 属性は使用 できません
必須(destinationFile を使用しない場合)
replace ファイルがテンプレート化され、トークンの値を取得するために追加の処理が必要であるかどうかを示します。 必須

例27.7 rhq:file

<rhq:file name="test-v2.properties" destinationFile="subdir/test.properties" replace="true"/>
destinationDir destinationFile 属性も使用しない場合、raw ファイルはバンドルディストリビューションの場所として deployment ディレクトリー配下の同じ場所に置かれます。

27.5.8.7. rhq:url-file

にあるように rhq:file、にあるように、トークンの値を持つアプリケーションの設定ファイルを特定して処理するための情報が含まれます。このオプションは、バンドルアーカイブに含めるのではなく、指定の URL からダウンロードされるリモートファイルを指定します。

表27.10 要素の属性

attribute description Optional または Required
url
テンプレートファイルに URL を指定します。このファイルは、デプロイメントディレクトリーにダウンロードされ、インストールされます。
注記
バンドルが正常にデプロイされるようにするには、このバンドルがデプロイされるすべてのエージェントマシンから URL にアクセスできる必要があります。エージェントが URL にアクセスできない場合、アーカイブをプルダウンできず、これをマシンにデプロイすることができません。
必須
destinationFile
宛先リソースのファイルの完全なパスおよびファイル名。相対パスは、最終的なデプロイメントディレクトリー(バンドルのデプロイ時に rhq.deploy.dir パラメーターで定義)への相対パスである必要があります。ディレクトリーとファイル名の両方が指定されていれば、絶対パスを使用することもできます。
注記
destinationDir 属性が使用されると、destinationFile 属性は使用 できません
この属性には、パス名とファイル名の両方を指定する必要があります。
必須(destinationDir を使用しない場合)
destinationDir
このファイルがコピーされるディレクトリー。これが相対パスである場合、バンドルのデプロイ時にユーザーが指定するデプロイメントディレクトリーと相対的です。これが絶対パスである場合、ファイルがコピーされるファイルシステムの場所になります。
この属性は、コピー先のファイルの ディレクトリー を設定します。実際のファイル名は name 属性に設定されます。
destinationFile 属性が使用されると、destinationDir 属性は使用 できません
必須(destinationFile を使用しない場合)
replace ファイルがテンプレート化され、トークンの値を取得するために追加の処理が必要であるかどうかを示します。 必須

例27.8 rhq:url-file

<rhq:url-file url="http://server.example.com/apps/files/test.conf" destinationFile="subdir/test.properties" replace="true"/>
destinationDir destinationFile 属性も使用しない場合、raw ファイルはバンドルディストリビューションの場所として deployment ディレクトリー配下の同じ場所に置かれます。

関連項目

27.5.8.8. rhq:property

注記
<rhq:property> タスクは標準の Ant 1.8 <property> タスクの拡張で、すべてのプロパティーをサポートします。標準の Ant 1.8 <property> タスクの詳細は、公式の Ant 1.8 ドキュメントを参照してください。
バンドルレシピは、標準の Ant 1.8 <property> タスクを使用するか、<rhq:property> タスクのいずれかを使用して追加のパラメーターを設定できます。
<rhq:property file=""> を使用してロードされるプロパティーは、ファイルへのパスは、デプロイメント前にバンドルが展開される作業ディレクトリーに関連していることを前提としています。このパスは未定義であるため、ユーザーはこの値に依存しません。ターゲットマシンで既知の絶対パスまたは親ディレクトリーにアクセスできない相対パスを使用することが推奨されます(「..」を使用)。
<property> または <rhq:property> によって参照されるファイルは、デフォルトでデプロイされず、必要なバンドルファイルです。プロパティーのロードに使用され、宛先にデプロイするファイルも、デプロイメントユニットの <rhq:file> タスクを使用して参照する必要があります。
<property> の既存の Ant 属性の他に、<rhq:property> タスクは <command>relativeToDeployDir</command> 属性もサポートします。

表27.11 要素の属性

attribute description Optional または Required
relativeToDeployDir
file 属性も使用され、相対パスである場合にのみ該当します。
デフォルトは false です。
true の場合、ファイルはバンドルのデプロイメントが実行される作業ディレクトリーの代わりにバンドルのデプロイディレクトリーに対して解決されます。
任意
この relativeToDeployDir 属性は、file 属性の相対ファイル参照を許可し、作業ディレクトリーではなくバンドルのターゲットデプロイディレクトリーに相対的な解決を行います。

27.5.8.9. rhq:audit

プロビジョニングプロセス中に使用するカスタム監査証跡メッセージを設定します。これは、追加のカスタムタスクを実行する複雑なレシピで便利です。タスクが処理される際に、rhq:audit 設定は追加の処理手順とその結果に関する情報をサーバーに送信します。

表27.12 要素の属性

attribute description Optional または Required
status 処理のステータス。使用できる値は SUCCESS、WARN、および FAILURE です。デフォルトは SUCCESS です。 任意
action 処理ステップの名前。 必須
info アクションのターゲット名や影響を受けるファイル名など、アクションの実行内容の短い概要。 任意
message アクションに関する追加情報を提供する簡単なテキスト文字列。 任意

例27.9 rhq:audit

<rhq:audit status="SUCCESS" action="Preinstall Notice" info="Preinstalling to ${rhq.deploy.dir}" message="Another optional message"> 
 Some additional, optional details regarding 
 the deployment of ${rhq.deploy.dir} 
</rhq:audit>

27.5.8.10. rhq:replace

は、アーカイブのデプロイ時にトークンの値を保持する必要があるアーカイブに含まれる子 <rhq:fileset> 要素の一時的なファイルを一覧表示します。
トークンを使用するファイルは、実際の値に置き換える必要があるファイルは、テンプレートファイルです。プロビジョニングプロセスが実行されると、token の値は定義された値に置き換えられます。この要素は、テンプレート化されたすべてのファイルを一覧表示します。トークン置換用のプロビジョニングシステムによって処理される唯一のファイルは、<rhq:replace> 要素に一覧表示されるファイルのみです。

例27.10 例

<rhq:archive name="file.zip">
    <rhq:replace>
        <rhq:fileset>
            <include name="**/*.properties"/>
        </rhq:fileset>
    </rhq:replace>
</rhq:archive>

27.5.8.11. rhq:ignore

新しいバンドルのデプロイ時に削除すべきではないデプロイメントディレクトリーのファイルを一覧表示します。これは、バンドルの初期デプロイメントには適用されず、アップグレード操作にのみ適用されます。
アプリケーションがデプロイされると、データファイルやログなどのインスタンス固有のファイルは作成でき、アプリケーションがアップグレードされた場合は保持する必要があります。のようなこの要素には <rhq:replace>、保存するインスタンス内のファイルまたはディレクトリーの一覧が含まれます。
注記
ファイルがレシピで無視される場合、バンドルのデプロイ時にファイルは削除されません。ただし、バンドルに同じ名前のファイルが存在する場合は、ローカルファイルは上書きされます。
バンドルにパッケージ化されているファイルを無視しないでください。ログやデータファイルなどのアプリケーションによって生成されたファイルのみがプロビジョニングプロセスによって無視される必要があります。これは、アップグレードされたインスタンス用に保持される必要があるためです。
重要
あるバンドルを別のバンドルのサブディレクトリーにデプロイできます(バンドル A はデプロイされ /opt/myapp、バンドル B にデプロイされます /opt/myapp/webapp1)。
この場合、Bundle A のレシピを設定して、Bundle B がデプロイされるディレクトリーを無視します。これにより、バンドル A の更新または再バージョンが Bundle B の設定を上書きするのを防ぎます。

例27.11 rhq:ignore

<rhq:ignore>
    <rhq:fileset>
        <include name="logs/*.log"/>
    </rhq:fileset>
</rhq:ignore>

関連項目

27.5.8.12. rhq:fileset

ファイルの一覧を提供します。
2 つの JBoss ON 要素: <rhq:replace> および <rhq:ignore> : アーカイブファイルまたはデプロイメントディレクトリーにファイル一覧を定義します。この要素にはファイルの一覧が含まれます。

表27.13 要素の属性

子要素 description
<include name=filename /> ファイルのファイル名。この場合 <rhq:replace>、これはアーカイブ(JAR または ZIP)ファイル内のファイルで、テンプレート化され、トークンの値が含まれる必要があります。これは <rhq:ignore>、アプリケーションのデプロイメントディレクトリーにあるファイルで、バンドルのアップグレード時に無視され、保持されるはずです。

例27.12 rhq:fileset

<rhq:replace>
     <rhq:fileset>
         <include name="**/*.properties"/>
     </rhq:fileset>
</rhq:replace>

27.5.8.13. rhq:system-service

プロビジョニングプロセスの一部として起動するスクリプトファイルを参照します。これは通常、init ファイルまたは同様のファイルで、デプロイされたアプリケーションがアプリケーションをシステムサービスとして設定するために使用できます。

表27.14 要素の属性

attribute description Optional または Required
Name スクリプトの名前。 必須
scriptFile スクリプトのファイル名スクリプトファイルがバンドルディストリビューションの ZIP ファイル内の Ant レシピファイルでパッケージ化されている場合は、ZIP ファイルのファイルの場所への 相対パス を含める scriptFile 必要があります。 必須
configFile スクリプトによって使用される設定またはプロパティーファイルの名前。設定ファイルがバンドルディストリビューションの ZIP ファイル内の Ant レシピファイルでパッケージ化されている場合は、ZIP ファイルのファイルの場所への 相対パス を含める configFile 必要があります。 任意
overwriteScript 既存の init ファイルを上書きしてアプリケーションをシステムサービスとして設定するかどうかを設定します。 任意
startLevels アプリケーションサービスの実行レベルを設定します。 任意
startPriority アプリケーションサービスの起動順序または優先度を設定します。 任意
stopPriority アプリケーションサービスの停止順序または優先度を設定します。 任意

例27.13 rhq:system-service

<rhq:system-service name="example-bundle-init" scriptFile="example-init-script"
      configFile="example-init-config" overwriteScript="true"
      startLevels="3,4,5" startPriority="80" stopPriority="20"/>

27.5.8.14. rhq:handover

バンドルコンテンツのハンドオーバーの目的は、バンドルターゲットのリソースコンポーネント、バンドルアーカイブに含まれるデプロイメントコンテンツの一部またはすべてに委譲することです。「ハンドオーバー」の名前は、バンドルコンテンツが実際にリソースコンポーネントに「処理」されているという概念から生じます。
ハンドオーバーの意図は、バンドルのターゲットコンポーネントがバンドルデプロイメントに参加できるようにすることです。これは、リソースがコンテンツをデプロイするためにファイルシステムの変更に依存しないインスタンスで特に役に立ちます。ハンドオーバーにより、定義されたアクションおよびアクションパラメーターと共にバンドルコンテンツをターゲットリソースコンポーネントに送信できます。
たとえば、アプリケーションを JBoss Enterprise Application Platform 6 ドメインにデプロイすることを検討してください。エージェントプラグインは、そのリソースすべてとの通信方法、これらのリソースにコンテンツをアップロードする方法をすでに把握しており、デプロイも行います。バンドルレシピにより、JBoss ON は JBoss Enterprise Application Platform 6 の JBoss ON プラグインをアプリケーション送信し、そのアプリケーションで実行するアクションを渡します(例: この Web アプリケーションをドメイン内の特定のサーバーグループにデプロイする)。
JBoss ON JBoss Enterprise Application Platform 6 プラグインは、コンテンツがオーバーすると多くのことを行う可能性があるため(バンドルをアプリケーションとしてデプロイ、CLI スクリプトとして実行など)、ハンドオーバーを使用する場合はアクションおよびアクションパラメーターが必要になります。
注記
プラグインのドキュメントを参照して、サポートするアクションおよび関連するパラメーターの一覧を表示します。JBoss Enterprise Application Platform 6 プラグインの詳細は、にナビゲートでき Administration > Configuration > Agent Plugins > JBoss Application Server 7.xます。また、バンドルターゲットリソースがすべてバンドルコンテンツのハンドオーバーに対応しているわけではない点に注意してください。
重要
バンドルパーミッションは、セットアップ中に慎重に検討する必要があります。コンテンツはバンドルコンテンツのハンドオーバーを使用して移動すると、システムが危険にさらされる可能性があります。たとえば、JBoss ON の JBoss Enterprise Application Platform 6 プラグインにスーパーユーザーのクレデンシャルが設定されていると、バンドル開発者は拡張パーミッションを持つ JBoss Enterprise Application Platform 6 CLI スクリプトを実行できます。JBoss ON サーバーにアップロードする前に、バンドルコンテンツとレシピを確認することが推奨されます。
JBoss ON バンドルサブシステムはファイルシステム指向であるため、実際の「uninstall」メカニズムはありません。元に戻すと、JBoss ON は実際にバックアップされたファイルを格納し、以前のバンドルレシピを再起動します。
パージに関して、JBoss ON はデプロイメントユニットのコンプライアンス属性値に従ってバンドル宛先ディレクトリーのみをクリーンアップします。
そのため、継承される内容は、従来の意味で元に戻したりパージされることはありません。JBoss ON では「move forward」のみが可能で、コンテンツのアンデプロイが後方に移動することができません。

表27.15 要素の属性

attribute description Optional または Required
action ターゲットリソースコンポーネントが実行するアクションの名前。 必須
FailOnError ターゲットリソースコンポーネントが失敗を報告すると ANT レシピビルドが失敗するかどうか。true または false。デフォルトは true です。 任意
以下のタグには(一意の) <rhq:handover> 子タグがある場合があります。
  • <rhq:file>
  • <rhq:url-file>
  • <rhq:archive>
  • <rhq:url-archive>
バンドル内の 2 つの部分をターゲットリソースコンポーネントに渡す必要がある場合は、バンドルレシピで宣言されたのと同じ順序で送信されます。

例27.14 rhq:handover

<rhq:file name="prepareDatasource.cli" replace="true">
   <rhq:handover action="execute-script" failonerror="false"/>
 </rhq:file>
 <rhq:archive name="website.war">
   <rhq:handover action="deployment">
  <rhq:handover-param name="runtimeName" value="${myapp.runtime.name}"/>
  <rhq:handover-param name="serverGroup" value="${server.group}"/>
   </rhq:handover>
 </rhq:archive>
prepareDatasource.cli ファイルの内容は、website.war アーカイブコンテンツの前に常にターゲットリソースコンポーネントに渡されます。

27.5.8.15. rhq:handover-param

表27.16 要素の属性

attribute description Optional または Required
Name パラメーターの名前 必須
値の名前。 必須
<rhq:handover> 要素にはゼロ、1 つ以上の rhq:handover-param 子タグを持つことができます。

例27.15 rhq:handover-param

<rhq:file name="prepareDatasource.cli" replace="true">
  <rhq:handover action="execute-script" failonerror="false"/>
</rhq:file>
<rhq:archive name="website.war">
  <rhq:handover action="deployment">
    <rhq:handover-param name="runtimeName" value="${myapp.runtime.name}"/>
    <rhq:handover-param name="serverGroup" value="${server.group}"/>
  </rhq:handover>
</rhq:archive>

関連項目