BEA ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Server > WebLogic Server アプリケーションの開発 > WebLogic Server デプロイメント |
WebLogic Server アプリケーションの開発
|
このリリースの WebLogic Server では、新しいデプロイメント プロトコルとして 2 フェーズ デプロイメントが導入されました。これを利用すると、サーバ間、特にクラスタ化されているサーバ間でデプロイメント ステートの一貫性を容易に維持できます。「2 フェーズ デプロイメント」を参照してください。
アプリケーションは、WebLogic Server Administration Console、weblogic.Deployer ユーティリティ、WebLogic Builder、または自動デプロイメントを使用してデプロイできます。これらのデプロイメント ツールについては、「デプロイメント ツールおよび手順」で説明されています。
以下の節で WebLogic Server のデプロイメントについて説明します。
新しい 2 フェーズ デプロイメント プロトコルを利用すると、ドメインの一貫性を容易に維持できます。旧バージョンの WebLogic Server では、アプリケーションのデプロイ時に、管理サーバによってアプリケーション ファイルのコピーがすべての対象サーバに送信され、その後、対象サーバにアプリケーションがロードされました。したがって、対象サーバへのデプロイメントが一部でも失敗すると、対象サーバ間のデプロイメント ステートにおける一貫性が失われました。
最新リリースの WebLogic Server では、まず、すべての対象サーバに対するアプリケーションが準備され、次に別フェーズでアプリケーションがアクティブ化されます。準備フェーズまたはアクティブ化フェーズでアプリケーションのデプロイメントが失敗すると、クラスタへのデプロイメントが失敗します。
従来の WebLogic Server デプロイメント プロトコルの使用については、「WebLogic Server 6.x のデプロイメント プロトコルの使用」を参照してください。
新しいデプロイメント プロトコルでは、デプロイされるアプリケーションに関して以下の新機能がサポートされています。
管理サーバを停止および再起動すると、保留中のデプロイメント要求が取り消されます。クラスタへのデプロイ中に、クラスタ内の対象サーバのいずれかが停止している場合、管理サーバを再起動すると、その対象サーバは復帰したときにデプロイメント要求を受け取れなくなります。
2 フェーズ モデルでは、アプリケーションを対象サーバにデプロイする前に準備フェーズの成功を確認することで、クラスタ内でデプロイメント ステートの矛盾が発生しにくくなっています。準備フェーズで失敗したデプロイメントは、アクティブ化フェーズに進みません。
第 1 フェーズであるデプロイメントの準備フェーズでは、ファイルを配布またはコピーし、アプリケーションとそのコンポーネントを検証し、エラー チェックを実行してアクティブ化に備えます。準備フェーズの目的は、作成されたアプリケーションおよびそのコンポーネントがデプロイ可能な状態にあるか確認することです。
第 2 フェーズであるアクティブ化フェーズでは、対応するサーバのサブシステムを使用してアプリケーションとコンポーネントの実際のデプロイメントまたはアクティブ化が行われます。アプリケーションは、アクティブ化フェーズを経てクライアントに対して使用可能になります。
デフォルトでは、WebLogic Server は、サーバレベルのリソース (JDBC に続いて JMS) をデプロイしてからアプリケーションおよびスタンドアロン モジュールをデプロイします (その後に起動クラスが実行される)。 起動クラスの実行の順序はコンフィグレーション可能です (起動クラスの実行とデプロイメントの順序設定を参照)。
アプリケーションは、コネクタ、EJB、Web アプリケーションの順にデプロイされます。WebLogic Server 7.0 では、アプリケーションについてロード順を選択できます。「Application」の ApplicationMBean LoadOrder 属性を参照してください。
アプリケーションが EAR の場合、application.xml デプロイメント記述子に宣言されている順序で、個々のコンポーネントがロードされます。「エンタープライズ アプリケーション デプロイメント記述子ファイル」を参照してください。
デフォルトでは、サーバで JMS サービスと JDBC サービスが初期化され、アプリケーションおよびスタンドアロン モジュールがデプロイされた後に WebLogic Server の起動クラスが実行されます。
JMS サービスと JDBC サービスが使用可能になった後、アプリケーションとモジュールがアクティブ化される前に起動タスクを実行する場合は、Administration Console の [アプリケーション デプロイメントの前に実行] オプションを選択します(または StartupClassMBean の LoadBeforeAppActivation 属性を「true」に設定する)。
JMS サービスと JDBC サービスが使用可能になる前に起動タスクを実行する場合は、Administration Console の [Run Before Application Activations] オプションを選択します (または StartupClassMBean の LoadBeforeAppDeployments 属性を「true」に設定する)。
次の図は、WebLogic Server でいつ起動クラスが実行されるかを簡単に示しています。
詳細については、StartupClassMBean の Javadoc を参照してください。
このリリースの WebLogic Server では、デプロイを行う前にアプリケーション ファイルをコピーするかどうか、およびコピーする場合のコピー先およびコピー主体を、ステージング モードで指定できます。ステージングとは、デプロイ元となる場所にアプリケーション ファイルをコピーすることです。サーバはそれぞれステージング モードを持っています。デプロイメントの実行後は、アプリケーションのステージング モードは変更できません。 ステージング モードをいつ使用するかについては、「アプリケーション デプロイメントのベスト プラクティス」を参照してください。
nostage モードの場合、サーバはサーバにデプロイされたアプリケーションをソース ディレクトリから直接実行します。このモードでは、Web アプリケーション コンテナが JSP およびサーブレットに対する変更を検出します。
stage モードでは、デプロイメント操作を実行すると、管理サーバは、ソース ファイルを対象サーバのステージング ディレクトリに開きます。 対象サーバは、このディレクトリからアプリケーションを初期化して実行します。
デプロイメントは、各対象サーバのステージング ディレクトリのアプリケーション名と同じ名前を持つディレクトリにコピーされます。
external stage モードは、外部エンティティがファイルの配布先として想定しているステージング ディレクトリからアプリケーションが起動することを意味します。このモードは、環境をサードパーティ ツールで管理している場合に便利です。
注意: nostage または external_stage のいずれかを使用するには、デプロイするファイルが管理サーバ マシンからアクセス可能でなければなりません。管理サーバ マシンにファイルをコピーするか、またはファイルを管理サーバ マシンから使用可能な共有ディレクトリに入れます。
次の表では、ステージング属性およびパスの設定がアプリケーションのデプロイメントに与える影響について説明します。
ステージング モードおよびディレクトリのコンフィグレーション
デフォルトでは、アプリケーションを管理対象サーバにデプロイすると、アプリケーションはデプロイ先サーバのステージング エリア (ServerMBean.StagingDirectoryName) にステージングされ、そこからデプロイされます。ステージングは、ServerMBean.StagingMode 属性または ApplicationMBean.StagingMode 属性を使用して無効にできます。 ServerMBean.StagingMode 属性は、そのサーバにデプロイされているすべてのアプリケーションに適用されます。 この属性は ApplicationMBean.StagingMode によってオーバライドされます。
ステージング モードをいつ使用するかについては、「アプリケーション デプロイメントのベスト プラクティス」を参照してください。
ここで取り上げた属性の Javadoc については、WebLogic クラスの Javadoc を参照してください。
以下で説明する特定の共通タスクを実行するようにシステムをコンフィグレーションできます。
アプリケーションまたは特定サーバの StagingMethod 属性を nostage にコンフィグレーションします。アプリケーションでこの属性をコンフィグレーションする場合、この設定は weblogic.Deployer ツールを使用してサーバでアプリケーションがコンフィグレーションされるときに行います。
このモードは、単一サーバで漸進的な開発を行う場合に便利です。また、複数のサーバがアプリケーションの同じコピーを使用する共有ディスク環境でも役立ちます。
アプリケーションを既知のステージング エリアからデプロイする
既知のディレクトリを指すように、各サーバの StagingDirName 属性をコンフィグレーションします。実際の EAR、JAR、WAR、および RAR ファイルは、そのディレクトリ内で対象アプリケーション名を持つディレクトリに配置します。
StagingMode 属性を stage に設定した場合、WebLogic Server では、ソースからステージング ディレクトリにファイルがコピーされます。stage モードを使用してデプロイするには、次の手順に従います。
external_stage モードを使用してアプリケーションをデプロイする
external_stage モードでは、デプロイメント ファイルを管理対象サーバに手動でコピーするか、またはファイルをコピーするアプリケーションあるいはスクリプトを用意する必要があります。external_stage モードを使用して、アプリケーションを管理対象サーバにデプロイするには、次の手順に従います。
WebLogic Server のデプロイメント ツールは、「デプロイメント管理 API」で説明したデプロイメント API へのインタフェースを提供します。
ここで説明するデプロイメント手順では、正しいディレクトリ構造を使用し、適切なデプロイメント記述子を含む、正常に機能する J2EE アプリケーションが作成されていることを前提にしています。デプロイメント記述子 (XML タグを使用して書式化されたテキスト ファイル) には、アプリケーションのディレクトリまたはアーカイブの内容を記述します。J2EE 仕様では、J2EE アプリケーションおよびそのコンポーネント用の標準的で移植性の高いデプロイメント記述子が定義されています。BEA は、アプリケーションおよびそのコンポーネントを WebLogic Server 環境にデプロイするための WebLogic 固有のデプロイメント記述子をさらに定義しています。 詳細については、「XML デプロイメント記述子」を参照してください。
WebLogic Server デプロイメント ツールの一覧を以下に示します。
weblogic.Deployer ユーティリティは WebLogic Server 7.0 の新機能で、非推奨となった以前の weblogic.deploy ユーティリティに代わるものです。weblogic.Deployer ユーティリティは、WebLogic Server デプロイメント API にコマンドライン インタフェースを提供する、Java ベースの開発ツールです。このユーティリティは、コマンドライン、シェル スクリプト、または Java 以外の自動化された環境からデプロイメントを開始する必要がある管理者および開発者向けに開発されました。
この節では、weblogic.Deployer ユーティリティを使って以下のタスクを実行する方法について説明します。
weblogic.Deployer ユーティリティによるデプロイ作業
weblogic.Deployer ユーティリティを使用してアプリケーションまたはそのコンポーネントをデプロイする手順は次のとおりです。
% java weblogic.Deployer [options] [-activate|-deactivate|-remove|-cancel|-list] [files]
また、デプロイ (再デプロイ、アンデプロイ、非アクティブ化、準備解除、または削除) の対象となるアーカイブ内の特定の -files を一覧表示することもできます。ファイル リストには、ファイル名およびアプリケーションのルートを基準にしたディレクトリを含めることができます。ディレクトリを指定すると、サブツリー全体がデプロイまたは再デプロイされます。
weblogic.Deployer のアクションおよびオプション
weblogic.Deployer のオプションは以下のとおりです。
weblogic.Deployer ユーティリティの使用例を以下に示します。
java weblogic.Deployer -adminurl http://admin:7001 -name app -source /myapp/app.ear -targets server1,server2 -activate
java weblogic.Deployer -adminurl http://admin:7001 -name app -source /myapp/app.ear -targets cluster1 -activate -enforceClusterConstraints
java weblogic.Deployer -source /myapp/app.ear -adminurl http://admin:7001 -name app -activate
注意: -source、つまり更新ファイルのリストを指定しない場合、アプリケーションに変更がないものと見なされるので、この処理は何の効果もありません。
Web アプリケーションを再デプロイするには、コマンドラインで -source および -target オプションの両方を指定する必要があります。
デプロイ済みのアプリケーション myapp.ear にモジュール newmodule.war を追加し、application.xml ファイルでそのモジュールを更新した場合は、次のコマンドを使用して newmodule.war を myapp.ear にデプロイできます。
java weblogic.Deployer -username myname -password mypassword -name myapp.ear -activate -targets newmodule.war@myserver -source /myapp/myapp.ear
このコマンドは、アプリケーション内のその他のモジュールは再デプロイせずに、新しいモジュールをデプロイします。
展開されたアプリケーションの一部を再デプロイ (更新) する
java weblogic.Deployer -adminurl http://admin:7001 -name app -activate jsps/login.jsp
すべてのアクティブな対象でアプリケーションを非アクティブ化する (使用不可にする)
java weblogic.Deployer -adminurl http://admin:7001 -name app -deactivate
java weblogic.Deployer -adminurl http://7001 -name app -activate
java weblogic.Deployer -adminurl http://admin:7001 -name app -targets server -remove
java weblogic.Deployer -adminurl http://admin:7001 -cancel -id tag
java weblogic.Deployer -adminurl http://admin:7001 -list
単一のサーバにアプリケーションをデプロイまたは再デプロイする
java weblogic.Deployer -activate -name ArchivedEarJar -source C:/MyApps/JarEar.ear -target server1
java weblogic.Deployer -activate -name ArchivedEarJar -target server2
wldeploy Ant タスクを使用すると、Ant .xml ファイルで指定した属性を使用して weblogic.Deployer の機能を実行できます。 他の WebLogic Server Ant タスクと一緒に wldeploy を使用して、次のような単一の Ant ビルド スクリプトを作成できます。
wlserver および wlconfig の詳細については、『管理者ガイド』の「Ant タスクを使用した WebLogic Server ドメインのコンフィグレーション」を参照してください。
注意: WebLogic Server Ant タスクは、1.5 より前のバージョンの Ant とは互換性がありません。 また、WebLogic Server に含まれていないバージョンの Ant を使用する場合は、wldeploy を使用する基本手順の説明に従って、build.xml ファイルで wldeploy タスク定義を指定する必要があります。
wldeploy Ant タスクを使用するには、次の手順に従います。
<taskdef name="wldeploy" classname="weblogic.ant.taskdefs.management.WLDeploy"/>
prompt> ant
wldeploy のサンプルの build.xml ファイル
次の出力は、アプリケーションを単一の WebLogic Server インスタンスにデプロイする wldeploy ターゲットを示しています。
<target name="deploy">
<wldeploy action="activate"
source="${build}/ejb11_basic_statelessSession.ear" name="ejbapp"
user="a" password="a" verbose="true" adminurl="t3://localhost:7001"
debug="true" targets="myserver"/>
</target>
次の表では、wldeploy Ant タスクの属性について説明します。 さまざまな用語の定義については、weblogic.Deployer のアクションおよびオプションを参照してください。
実行するデプロイメント アクション。 有効な値は、activate、deactivate、remove、cancel、list および unprepare。 |
|||
wldeploy が (バックグラウンド タスクとしてデプロイすることによって) デプロイメント呼び出しの後直ちに復帰するかどうかを指定する。 |
|||
ビルド ファイルまたは ps などのプロセス ユーティリティでプレーン テキストのパスワードを表示しないようにするには、まず、weblogic.Admin STOREUSERCONFIG コマンドを使用して、有効なユーザ名と暗号化されたパスワードをコンフィグレーション ファイルに格納する。 次に、Ant ビルド ファイルで username および password 属性の両方を省略する。 この属性を省略した場合、wldeploy はデフォルトのコンフィグレーション ファイルから取得した値を使用してログインしようとする。 デフォルト以外のコンフィグレーション ファイルおよびキー ファイルからユーザ名とパスワードを取得する場合は、wldeploy と一緒に userconfigfile および userkeyfile 属性を使用する。 |
|||
管理ユーザ名およびパスワードを取得するために使用するユーザ コンフィグレーション ファイルの場所を指定する。 このオプションは、プレーン テキストのパスワードをインラインで表示しないようにする場合や ps などのプロセスレベルのユーティリティにおいて、ビルド ファイルで user および password 属性の代わりに使用する。 「WebLogic Server コマンドライン リファレンス」の「STOREUSERCONFIG」で説明しているように、userconfigfile 属性を指定する前に、weblogic.Admin STOREUSERCONFIG コマンドを使用してファイルを生成しておく必要がある。 |
|||
ユーザ コンフィグレーション ファイル (userconfigfile 属性) に格納されたユーザ名およびパスワード情報の暗号化および解読に使用するユーザ キー ファイルの場所を指定する。 userkeyfile 属性を指定する前に、weblogic.Admin STOREUSERCONFIG コマンドを使用してファイルを生成しておく必要がある。 |
|||
WebLogic Server Ant タスクで使用されるグローバル属性。 ビルド中にエラーが発生した場合、タスクが失敗するかどうかを指定する。 この属性はデフォルトで true に設定される。 |
WebLogic Server Administration Console
この節では、Administration Console によるデプロイメント タスクの実行について説明します。Administration Console は、weblogic.Deployer ユーティリティと同じ機能をサポートしています。この機能によって、デプロイヤは新しいまたは更新したアプリケーションの提出、ステータスのクエリ、および保留中のデプロイメントの削除を行うことができます。
Administration Console を使用した J2EE アプリケーション デプロイメントのコンフィグレーション
WebLogic Server Administration Console を使用して J2EE アプリケーションをコンフィグレーションする手順は次のとおりです。
Administration Console を使用した J2EE アプリケーションのデプロイメント
WebLogic Server Administration Console を使用して J2EE アプリケーションをデプロイする手順は次のとおりです。
Administration Console を使用したデプロイ済みコンポーネントの参照
デプロイされたコンポーネントを Administration Console で表示する手順は次のとおりです。
Administration Console を使用したコンポーネントのアンデプロイメント
WebLogic Server Administration Console を使用してデプロイされているコンポーネントをアンデプロイする手順は次のとおりです。
コンポーネントをアンデプロイしても、コンポーネント名は WebLogic Server から削除されません。コンポーネントは、Server セッションが終了するまでアンデプロイされた状態が続きます。ただし、アンデプロイ後にコンポーネントを変更した場合を除きます。サーバを再起動するまで、deploy 引数でデプロイメント名を再使用することはできません。次の節で説明するように、デプロイメントの更新にそのデプロイメント名を再使用できます。
Administration Console によるアプリケーションの更新
デプロイ済みの J2EE アプリケーションを更新する手順は次のとおりです。
デプロイ済みアプリケーションにモジュールを追加し、追加したモジュールをデプロイする手順は次のとおりです。
WebLogic Builder は、J2EE アプリケーションのデプロイメント記述子を生成および編集するための WebLogic Server ツールです。このツールでは、単一のサーバにアプリケーションをデプロイすることもできます。
「WebLogic Builder」を参照してください。
自動デプロイメントは、管理サーバにアプリケーションを迅速にデプロイするための手段です。自動デプロイメントは、アプリケーションをテストするための単一サーバの開発環境でのみ使用してください。プロダクション環境で使用したり、管理対象サーバにコンポーネントをデプロイするために使用したりすることは避けてください。
自動デプロイメントが有効な場合は、アプリケーションが管理サーバの ¥applications ディレクトリにコピーされると、その管理サーバは新しいアプリケーションの存在を検出し、それを自動的にデプロイします (管理サーバが動作している場合)。アプリケーションを ¥applications ディレクトリにコピーしたときに WebLogic Server が稼働していない場合、そのアプリケーションは WebLogic Server が次に起動したときにデプロイされます。自動デプロイメントは管理サーバに対してのみデプロイします。
注意: Windows NT では厳格なファイル ロック制限により、アプリケーションが展開された場合、アプリケーション内のすべてのコンポーネントも展開されます。すなわち、WebLogic Server では展開されたアプリケーションまたはコンポーネント内に JAR ファイルを入れることはできません。
WebLogic Server は、開発環境とプロダクション環境の 2 つの異なるモードで実行できます。開発モードは、アプリケーションをテストする場合に使用します。プロダクション環境への準備が整ったら、プロダクション モードで起動されたサーバにアプリケーションをデプロイします。
開発モードを使用すると、WebLogic Server は domain_name/applications ディレクトリ (domain_name は WebLogic Server のドメイン名) にあるアプリケーションを自動的にデプロイおよび更新します。つまり、開発モードでは自動デプロイを使用することになります。
プロダクション モードでは、自動デプロイメント機能は無効になります。代わりに、WebLogic Server Administration Console または weblogic.Deployer ツールを使用する必要があります。
デフォルトでは、WebLogic Server は開発モードで稼働します。サーバのモードを指定するには、以下のいずれかを実行します。
startWebLogic 起動スクリプトを使用する場合は、スクリプトを編集し、STARTMODE 変数を次のように設定します。
STARTMODE = false (開発モードを有効にする)
STARTMODE = true (プロダクション モードを有効にする)
コマンドラインで直接 weblogic.Server コマンドを入力してサーバを起動する場合、次のように -Dweblogic.ProductionModeEnabled オプションを使用します。
-Dweblogic.ProductionModeEnabled=false (開発モードを有効にする)
-Dweblogic.ProductionModeEnabled=true (プロダクション モードを有効にする)
開発モードおよびプロダクション モードにおける WebLogic Server の起動の詳細については、「WebLogic Server の起動と停止」を参照してください。
この機能は、開発中にアプリケーションをデプロイする場合に便利です。この機能を使用すると、あらかじめ定義しておいた自動デプロイメント ディレクトリにデプロイメントをコピーするだけで、アプリケーションまたは個々の J2EE モジュールが管理サーバにデプロイされます。このディレクトリはドメイン ディレクトリの下、たとえば、mydomain/applications にあります。
アーカイブされたアプリケーションのアンデプロイメントと再デプロイメント
自動デプロイされたアプリケーションまたはそのコンポーネントは、サーバの稼働時に動的に再デプロイできます。JAR、WAR、または EAR ファイルを動的に再デプロイするには、このファイルの新バージョンを、¥applications ディレクトリ内の既存のファイルに上書きコピーするだけです。
この機能を使用すると、開発者はメイクファイルの最後のステップとして ¥applications ディレクトリへのコピーを追加するだけで、サーバを更新できます。
アプリケーションを ¥applications ディレクトリから削除すると、そのアプリケーションはアンデプロイされ、コンフィグレーションから削除されます。
展開形式で自動デプロイされたアプリケーションまたはコンポーネントも、動的に再デプロイできます。アプリケーションが展開形式でデプロイされている場合、管理サーバは、展開されたアプリケーションのディレクトリ内で REDEPLOY というファイルを定期的に検索します。このファイルのタイムスタンプが変更されている場合、管理サーバは展開ディレクトリを再デプロイします。
展開されたアプリケーション ディレクトリ内のファイルを更新する場合は、次の手順に従います。
展開されたアプリケーションには、最上位にある META-INF ディレクトリが含まれ、このディレクトリには application.xml ファイルがあります。
展開された Web アプリケーションには、最上位にある WEB-INF ディレクトリが含まれ、このディレクトリには web.xml ファイルがあります。
展開された EJB アプリケーションには、最上位にある META-INF ディレクトリが含まれ、このディレクトリには ejb-jar.xml ファイルがあります。
展開されたコネクタには、最上位にある META-INF ディレクトリが含まれ、このディレクトリには ra.xml ファイルがあります。
管理サーバは、タイムスタンプの変更を検出すると、展開されたディレクトリの内容を再デプロイします。
デプロイメント タスクは、DeployerRuntimeMBean という、WebLogic 管理サーバに常駐するシングルトン (インスタンスが 1 つしかないオブジェクト) によって開始されます。この DeployerRuntimeMBean によって、アプリケーションをアクティブ化、非アクティブ化、および削除するためのメソッドが提供されます。これらのメソッドは、要求をカプセル化し、その進行状況を追跡する手段を提供する DeploymentTaskRuntimeMBean を返します。DeploymentTaskRuntimeMBean は、TargetStatus オブジェクトによってデプロイ先ごとに要求に関する処理ステータスを示します。
WebLogic Server デプロイメント管理 API は、以下の WebLogic Server MBean によって定義されます。
デプロイメント管理 API は非同期です。クライアントは、ステータスをポーリングするか、ApplicationMBean 通知を使用してタスクがいつ完了したかを判別します。
WebLogic Serverのデプロイメント管理 API の詳細については、weblogic.management.deploy Javadoc を参照してください。
実際にアプリケーションをデプロイする場合のベスト プラクティスを以下に示します。
繰り返しデプロイメントが行われる環境では、すべてのファイルを展開形式で維持し、アプリケーションをソースの場所から直接デプロイする方法がもっとも効率的です。
単一サーバ環境 (管理サーバだけにデプロイ) で作業している場合、ディレクトリ ベースの自動デプロイメントを使用できます。すなわち、展開されたアプリケーションを mydomain/applications ディレクトリに配置するだけで、アプリケーションをデプロイできます。 詳細については、このマニュアルの「自動デプロイメント」を参照してください。
Web アプリケーションまたは Web サービスの変更テスト
EJB またはリソース アダプタ デプロイメント記述子に対する変更を組み込むには、mydomain/applications ディレクトリの META-INF/REDEPLOY ファイルを変更します。これによって、自動デプロイヤがその変更を検出します。EJB またはリソース アダプタが再デプロイされます。
注意: EJB がエンタープライズ アプリケーションの一部になっている場合、そのアプリケーション全体が再デプロイされます。
複数サーバ環境で作業している場合、weblogic.Deployer ツールを使用してアプリケーションをデプロイすることをお勧めします。
アプリケーション ファイルに対して変更を行った場合、weblogic.Deployer ツールを使用してその変更をサーバに伝達する必要があります。サーバに伝達することにより、変更がデプロイ済みアプリケーションに組み込まれます。
Web アプリケーションに対する変更をサーバに伝達する方法を以下の手順で示します。この手順は、どのタイプのアプリケーションでも同じです。ただし、EJB がエンタープライズ アプリケーションに含まれる場合、アプリケーションおよびそのコンポーネント全体が再デプロイされます。
java weblogic.Deployer -adminurl http://adminAddr:7001 -name webapp -activate -source /myapp/webapp -targets managedserver1,managedserver2
java weblogic.Deployer -adminurl http://adminAddr:7001 -name webapp -activate jsps/login.jsp
上記の例では、login.jsp が、Web アプリケーションがデプロイされているすべてのサーバに配布され、組み込まれます。
デプロイ可能なユニットのパッケージ化の詳細については、「WebLogic Server アプリケーションのパッケージ化」を参照してください。
ディレクトリに複数のモジュールがあるが、全体的なアプリケーション記述子ファイルがない場合は、各モジュールを独自のディレクトリに格納し、独自の記述子ファイルを含める必要があります。つまり、非アーカイブ アプリケーションでは、アーカイブ内と同じく、各モジュールが他のモジュールと互いに独立していなければなりません。
sourceDirectory¥
¥Module1
WEB-INF¥
web.xml
Module1FilesDir
¥Module2
META-INF¥
ejb-jar.xml
Module2FilesDir
非 EAR デプロイメントを展開した場合、ソース ディレクトリは必ず A または B となる必要があります。
A.
¥Module1
WEB-INF¥
web.xml
Module1FilesDir
B.
¥Module1
WEB-INF¥
web.xml
Module1FilesDir
¥Module2
META-INF¥
ejb-jar.xml
Module2FilesDir
¥Module3
META-INF¥
ra.xml
Module3FilesDir
以下のディレクトリ構造はサポートされていないので、無効です。
sourceDirectory/
META-INF¥ejb-jar.xml
WEB-INF¥web.xml
webfiles/
ejbfiles/
moduledir/
WEB-INF¥web.xml
webfiles
ejb.jar
moduledir/
WEB-INF¥web.xml
web1files
web2/WEB-INF/web.xml
web2/webfiles
管理サーバの場合には nostage、管理対象サーバの場合には stage というデフォルト値を使用します。ただし、以下の場合を除きます。
単一サーバ デプロイメントの開発設定では、自動デプロイメントのみ使用します。
複数モジュールによる展開デプロイメントでは、常に META-INF/application.xml で定義されたアプリケーション記述子を使用します。
モジュールまたはファイルを、アプリケーションの、参照を持つ他のモジュールに再デプロイする場合は、参照しているモジュールも再デプロイする必要があります。
エンタープライズ アプリケーションの一部であるコンポーネント間のクラス共有
エンタープライズ アプリケーションの一部であるコンポーネント間でクラスを共有するには、MANIFEST クラスパスを使用します。共有クラスを含む JAR ユーティリティは、その他のコンポーネント アーカイブの次に EAR にパッケージ化されます。これらのクラスを使用する各コンポーネントは、コンポーネント アーカイブ内の META-INF/MANIFEST.MF というファイルに Class-Path エントリを作成します。この方法は J2EE 標準の一部であり、アプリケーション サーバ間での移植性が必要な場合に使用します。
詳細については、マニフェスト クラスパスを参照してください。
WebLogic Server 6.x のデプロイメント プロトコルの使用
デフォルトでは、利用可能なすべてのデプロイメント ツールによって新しいアプリケーションをデプロイする場合は、2 フェーズ デプロイメント プロトコルが使用されます。現在の管理サーバでも、WebLogic Server 6.x デプロイメント プロトコルはサポートされています。このプロトコルは以下の場合に使用します。
6.x のプロトコルを使用するアプリケーションを 2 フェーズ プロトコルを使用するようにコンフィグレーションするには、次のように、ドメインからアプリケーションを削除 (コンフィグレーションを削除) してから、アプリケーションを再度アクティブ化します。
java weblogic.Deployer -adminurl http://admin:7001 -name app -targets server -remove
java weblogic.Deployer -activate -name ArchivedEarJar -source C:/MyApps/JarEar.ear -target server1
新しいプロトコルを使用してアプリケーションが再デプロイされます。
WebLogic Server デプロイメントの詳細については、以下のマニュアルを参照してください。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |