HomeDocumentation > 1. 管理 > 1.1. 管理タスク > 1.1.1. アプリケーションの管理 > 1.1.1.1. アプリケーションのインストールと除去
{scrollbar}

アプリケーションをインストールしたり除去するには、いくつかの方法があります。

アプリケーションをパッケージングする際には、デプロイメント・プランをパッケージの中に含めても良いですし、含めなくてもかまいません。Geronimoはパッケージ済みのアプリケーションの WEB-INF ディレクトリーの中にデプロイメント・プラン geronimo-web.xml および web.xml ( またはアプリケーションの種類によっては geronimo-application.xmlgeronimo-application-client.xml )があるかどうかを探索します。Geronimoがこれらの記述子を見つけられなかった場合は、デフォルトの設定を使ってアプリケーションをデプロイしようとします。もしデフォルトの設定でデプロイが失敗した場合は、アプリケーションの中のデプロイメント・プランを再ひパッケージングするか、または外部からデプロイメント・プランを与える必要があります。以降のセクションでは、このような場合に採りうる選択肢を、更に細かく説明します。

Geronimo管理コンソール GAC

Geronimo管理コンソールを使って新たにアプリケーションを導入する場合には、左側の Console Navigation メニューの Deploy New を選択し、 Install New Applications ポートレットを使用します。このポートレットを使えば、デプロイ直後にアプリケーションを自動的に開始させることもできます。

前と同様に、この例でも5. クイック・スタート - いますぐ始めたい人の Apache Geronimo で作成した簡単なJSPのHelloWorldサンプルを使います。但し、あちらでは --inPlace オプションを使いました。つまり、アプリケーションを WAR ファイルにパッケージングする必要はありませんでした。WARファイルを作成するには <app_home> ディレクトリーから下記のコマンドをタイプしてください。

jar -cvf HelloWorld.war *

このWARには、すでにデプロイメント・プランがパッケージ中に含まれています。

Geronimo管理コンソールに戻り、Install New Applications ポートレットで Browse をクリックし Archive: セクションで HelloWorld.war へのパスを指定します。 Start app after install チェックボックスがチェックされていることを確認し(デフォルトではチェックされています) Install をクリックします。

ポートレットの先頭に" The application was successfully deployed. " と " The application was successfully started. " という確認のためのメッセージが表示されるはずです。

アプリケーションが正常にインストールされ、開始したことを確認するもうひとつの方法として、左側の Console Navigation メニューの Web App WARs を選択すると表示される Installed Web Applications ポートレットも利用できます。リスト中の hello アプリケーションのステータスが running になっているのが見えるはずです。

私たちの導入したアプリケーションは HelloWold. WAR なのでこのポートレットを使いましたが、EARをインストールした場合には左側の Console Navigation メニューの Application EARs を選択すると表示される *Installed Application EARs ポートレットも利用できます。インストールの手順はWARとEARアプリケーションで同じです。

Geronimo管理コンソールを使ってアプリケーションを除去する際には、 アンインストールするアプリケーションによって、 Installed Web ApplicationsInstalled Application EARs のいずれかのポートレットを利用します。

私たちのサンプルでは、 Installed Web Applications ポートレットへアクセスして、 Component Name のリストで sample.applications/HelloWorldApp/2.0/war に対して Uninstall をクリックします。その結果、まずアプリケーションが停止され、次にアンインストールが行われます。" Uninstalled application " という確認のためのメッセージがポートレットの末尾に表示されます。

以上がGeronimo管理コンソールを用いてアプリケーションをインストール/アンインストールするための基本的な手順です。次の2つのセクションでは、コマンドラインを用いた方法を述べます。

デプロイヤー・ツール depl

デプロイヤー・ツールを使えばアプリケーションのインストールやアンインストール等々をコマンドラインから行うことができます。このセクションではサンプル・アプリケーションを使いながらインストールとアンインストールのタスクのみを扱います。その他の機能については 1.9.3. Deployer tool - デプロイヤー・ツール のセクションにすべて記載されています。

サンプル・アプリケーション HelloWorld.war をデプロイヤー・ツールを使ってコマンド・ラインからデプロイするには、<geronimo_home>\binディレクトリーで下記のコマンドをタイプします。

deploy --user system --password manager deploy <app_home>/HelloWorld.war

もし貴方のアプリケーションの WEB-INF にGeronimoの特定のデプロイメント・プランが含まれていなくても、Geronimo 管理コンソールの場合と同様に、外部から指定することができます。先程のコマンドにデプロイメント・プランのパスとファイル名を追加すればよいだけです。

deploy --user system --password manager deploy <app_home>/HelloWorld.war <deployment_plan_home>/plan.xml

外部からデプロイメント・プランを指定する場合には、プランを特定する任意のファイル名を使える点にご注目ください。 geronimo-XYZ.xml といった書式を使わなければならないわけではありません。私たちの例ではGeronimoの特有のデプロイメント・プランが既にパッケージに含まれているので、更に追加でデプロイメント・プランを指定する必要はありません。

デプロイされると、このような確認用のメッセージが表示されるはずです。

dashed D:\geronimo-tomcat6-jee5-2.0-M2\bin>deploy --user system --password manager deploy \HelloWorld_2.0\HelloWorld.war Using GERONIMO_BASE: D:\geronimo-tomcat6-jee5-2.0-M2 Using GERONIMO_HOME: D:\geronimo-tomcat6-jee5-2.0-M2 Using GERONIMO_TMPDIR: D:\geronimo-tomcat6-jee5-2.0-M2\var\temp Using JRE_HOME: C:\Java\jdk1.5.0_06\\jre Deployed sample.applications/HelloWorldApp/2.0/war @ http://hcunico:8080/hello

Geronimo管理コンソールを使った場合と違い、コマンドライン・ツールを使った場合には確認用のメッセージとしてより多くの情報が入手できます。例えば、 Component Name (またはモジュールID)や、デプロイされたアプリケーションのコンテキスト・ルートとポート番号を入手できます。この種の設定値はどうしても忘れがちなので、複数のアプリケーションをインストールやテスト、アンインストールする時には便利です。

または、もしアプリケーションをまだパッケージングしていないのであれば、 --inPlace オプションを使えば、貴方が開発に使用しているディレクトリーから直接、アプリケーションをデプロイすることもできます。このオプションは 5. クイック・スタート - いますぐ始めたい人の Apache Geronimoの中でサンプル・アプリケーションをデプロイする際に使われています。

この場合には、<geronimo_home>\binディレクトリーで下記のコマンドを使います。

deploy --user system --password manager deploy --inplace <app_home>

デプロイヤー・ツールは、インストールされているアプリケーションをリストするために使うこともできます。 list-modules コマンドでアプリケーションをリストできますし、 startedstopped 状態のアプリケーションのリストに絞り込むこともできます。 list-modules コマンドで追加のパラメーターを指定しなかった場合のデフォルトの動きでは、すべてのアプリケーションをリストします。

アプリケーションをアンインストールする場合には最初に正しいComponent Name (またはモジュールID)を入手しなくてはなりません。<geronimo_home>\binディレクトリーから以下のコマンドを実行してください。

deploy --user system --password manager list-modules

下記の例のリストに似た内容が表示されるはずです。

dashed D:\geronimo-tomcat6-jee5-2.0-M2\bin>deploy --user system --password manager list-modules Using GERONIMO_BASE: D:\geronimo-tomcat6-jee5-2.0-M2 Using GERONIMO_HOME: D:\geronimo-tomcat6-jee5-2.0-M2 Using GERONIMO_TMPDIR: D:\geronimo-tomcat6-jee5-2.0-M2\var\temp Using JRE_HOME: C:\Java\jdk1.5.0_06\\jre Found 47 modules + console.dbpool/LocalDB/1.0/rar + console.dbpool/jdbc%2FTradeDataSource/1.0/rar + org.apache.geronimo.configs/activemq/2.0-M2/car + org.apache.geronimo.configs/activemq-broker/2.0-M2/car + org.apache.geronimo.configs/axis/2.0-M2/car + org.apache.geronimo.configs/axis-deployer/2.0-M2/car + org.apache.geronimo.configs/axis2/2.0-M2/car + org.apache.geronimo.configs/axis2-deployer/2.0-M2/car + org.apache.geronimo.configs/client-deployer/2.0-M2/car + org.apache.geronimo.configs/connector-deployer/2.0-M2/car + org.apache.geronimo.configs/cxf/2.0-M2/car + org.apache.geronimo.configs/cxf-deployer/2.0-M2/car + org.apache.geronimo.configs/dojo-tomcat/2.0-M2/car @ http://hcunico:8080/dojo + org.apache.geronimo.configs/geronimo-gbean-deployer/2.0-M2/car + org.apache.geronimo.configs/hot-deployer/2.0-M2/car + org.apache.geronimo.configs/j2ee-deployer/2.0-M2/car + org.apache.geronimo.configs/j2ee-security/2.0-M2/car + org.apache.geronimo.configs/j2ee-server/2.0-M2/car + org.apache.geronimo.configs/j2ee-system/2.0-M2/car + org.apache.geronimo.configs/javamail/2.0-M2/car + org.apache.geronimo.configs/jee-specs/2.0-M2/car + org.apache.geronimo.configs/openejb/2.0-M2/car + org.apache.geronimo.configs/openejb-deployer/2.0-M2/car + org.apache.geronimo.configs/persistence-jpa10-deployer/2.0-M2/car + org.apache.geronimo.configs/remote-deploy-tomcat/2.0-M2/car @ http://hcunico:8080/remote-deploy + org.apache.geronimo.configs/rmi-naming/2.0-M2/car + org.apache.geronimo.configs/sharedlib/2.0-M2/car + org.apache.geronimo.configs/system-database/2.0-M2/car + org.apache.geronimo.configs/tomcat6/2.0-M2/car + org.apache.geronimo.configs/tomcat6-deployer/2.0-M2/car + org.apache.geronimo.configs/transaction-jta11/2.0-M2/car + org.apache.geronimo.configs/webconsole-tomcat/2.0-M2/car `-> standard.war @ http://hcunico:8080/console-standard `-> framework.war @ http://hcunico:8080/console + org.apache.geronimo.configs/webservices-common/2.0-M2/car + org.apache.geronimo.configs/welcome-tomcat/2.0-M2/car @ http://hcunico:8080/ + sample.applications/HelloWorldApp/2.0/war @ http://hcunico:8080/hello org.apache.geronimo.configs/ca-helper-tomcat/2.0-M2/car org.apache.geronimo.configs/client/2.0-M2/car org.apache.geronimo.configs/client-security/2.0-M2/car org.apache.geronimo.configs/client-system/2.0-M2/car org.apache.geronimo.configs/client-transaction/2.0-M2/car org.apache.geronimo.configs/directory/2.0-M2/car org.apache.geronimo.configs/ldap-realm/2.0-M2/car org.apache.geronimo.configs/online-deployer/2.0-M2/car org.apache.geronimo.configs/openjpa/2.0-M2/car org.apache.geronimo.configs/shutdown/2.0-M2/car org.apache.geronimo.configs/transformer-agent/2.0-M2/car org.apache.geronimo.configs/uddi-tomcat/2.0-M2/car

sample.applications/HelloWorldApp/2.0/war のエントリーを探してください。その値が、アンインストールの際に使う値です。

アプリケーションをアンインストールするには、先のモジュールのリストから特定したコンポーネント名を使って、<geronimo_home>\binディレクトリーから下記のコマンドを実行します。

deploy --user system --password manager undeploy sample.applications/HelloWorldApp/2.0/war

このコマンドはまずアプリケーションを停止し、次にアンインストールします。下記のようなメッセージが表示されるはずです。

dashed D:\geronimo-tomcat6-jee5-2.0-M2\bin>deploy --user system --password manager undeploy sample.applications/HelloWorldApp/2.0/war Using GERONIMO_BASE: D:\geronimo-tomcat6-jee5-2.0-M2 Using GERONIMO_HOME: D:\geronimo-tomcat6-jee5-2.0-M2 Using GERONIMO_TMPDIR: D:\geronimo-tomcat6-jee5-2.0-M2\var\temp Using JRE_HOME: C:\Java\jdk1.5.0_06\\jre Module sample.applications/HelloWorldApp/2.0/war unloaded. Module sample.applications/HelloWorldApp/2.0/war uninstalled. Undeployed sample.applications/HelloWorldApp/2.0/war

この例では、同一のツールで3つの異なるコマンドを使ってみました。

  • deploy
  • list-modules
  • undeploy

デプロイヤー・ツールで使えるオプションは他にもあります。更に細かい情報は 1.9. ツールとコマンド セクションを参照してください。

ホット・デプロイ hotdepl

Apache Geronimoは ホット・デプロイメント をサポートしています。つまり、アプリケーションのJARファイルを <geronimo_home>/deploy ディレクトリーにコピーするだけで、アプリケーションを自動的にデプロイさせることができるということです。また、この方法でデプロイされたアプリケーションをアンインストールしたり更新したりすることもできます。単体のJARファイルをコピーするのではなく、アプリケーション・モジュールを含む(パッケージングされていない) ディレクトリー をそのままコピーしても結構です。

ホット・デプロイを使う場合は、 デプロイメント・プラン をアプリケーションのパッケージに含めねばならない点に注意してください。この方法では、外部からデプロイメント・プランを指定することはサポートされていません。また、 1.9.3. Deployer tool - デプロイヤー・ツール や管理コンソールを使ってデプロイされたアプリケーションは <geronimo_home>/deploy ディレクトリー上に現れない点にご注意ください。

あるアプリケーション、たとえばHelloWorld.warを deploy ディレクトリーにコピーすると、アプリケーションがデプロイされたこと、及びそのアプリケーションのコンテキストを示す確認のためのメッセージがGeronimoの稼動中のコンソール上に表示されます。

dashed 11:45:23,500 INFO [DirectoryHotDeployer] Deploying HelloWorld.war 11:45:23,953 INFO [DirectoryHotDeployer] Deployed sample.applications/HelloWorldApp/2.0/war @ http://hcunico:8080/hello

アプリケーションを除去するには、 deploy ディレクトリーからWARやEARを削除するだけです。アプリケーションが除去されると、アプリケーションがアンデプロイされたことを示すメッセージがGeronimoの稼動中のコンソール上に表示されます。

dashed 11:46:17,953 INFO [DirectoryHotDeployer] Undeploying HelloWorld.war 11:46:18,281 INFO [DirectoryMonitor] Hot deployer notified that an artifact was removed: sample.applications/HelloWorldApp/2.0/war 11:46:18,281 INFO [DirectoryHotDeployer] Undeployed sample.applications/HelloWorldApp/2.0/war

サマリー

当セクションではアプリケーションをインストール/アンインストールするための3つの異なる方法をご説明しました。グラフィカルなもの、コマンド・ラインのもの、そしてホット・デプロイメント、好みに応じてコマンド・ラインまたはGUIを選択できるわけです。
利用できるオプションやパラメーターの詳細については以降の 1.9. ツールとコマンド セクションを参照してください。