cjreplaceapp(アプリケーションの入れ替え)
形式
cjreplaceapp [<サーバ名称>] [-nameserver <プロバイダURL>] -name <アプリケーション名> -f <ファイルパス> [-t <タイムアウト時間>] [-replaceDD]
機能
J2EEアプリケーションを入れ替えます。
入れ替え後のJ2EEアプリケーションがcosminexus.xmlを含む場合,入れ替え前のアプリケーションサーバ独自の定義情報を破棄してデフォルト値に戻してから,cosminexus.xmlの定義情報で上書きします。入れ替え後のJ2EEアプリケーションがcosminexus.xmlを含まない場合,入れ替え前のJ2EEアプリケーションからアプリケーションサーバ独自の定義情報を引き継ぎます。
- 注意事項
-
WARアプリケーションの場合,cosminexus.xmlの再読み込みを実行しないため,インポートのときの設定を引き継ぎ,定義情報の更新は実行されません。
このコマンドは,アプリケーションの状態(停止状態,開始状態)に関係なく実行できます。アプリケーションが開始されている場合,アプリケーション中のメソッドの終了を待ってアプリケーションを停止して入れ替え処理をしたあと,アプリケーションを開始します。ただし,-tオプションで指定された時間が経過しても停止処理が終了していない場合,アプリケーションは強制停止します。
引数
- <サーバ名称>
-
接続先J2EEサーバ名称を指定します。サーバ名称を省略したときは,ホスト名称がサーバ名称として使用されます。
- -nameserver <プロバイダURL>
-
CORBAネーミングサービスへのアクセスプロトコル,CORBAネーミングサービスが稼働しているホスト名,およびそれが使用しているポート番号を次に示す形式で指定します。
<プロトコル名称>::<ホスト名称>:<ポート番号>
指定内容の詳細については,「2.1.2 プロバイダURLについて」を参照してください。
- -name <アプリケーション名>
-
入れ替えるアプリケーション名を指定します。
- -f <ファイルパス>
-
読み込み対象となるアプリケーションファイルのパスを指定します。
このオプションで指定するアプリケーションファイルは標準のアプリケーションファイル(拡張子.ear)またはWARファイル(拡張子.war)を指定します。
- -t <タイムアウト時間>
-
コマンドを実行してから応答が返る時間を,0〜2147483647までの整数(単位:秒)で指定します。0を指定した場合は,開始状態のアプリケーションの停止処理が終了するまでクライアントへ応答が返りません。
指定がない場合は60秒が設定されます。
- -replaceDD
-
入れ替え前のアプリケーションのDDファイル(application.xml,ejb-jar.xml,ra.xml,web.xml)の定義を,入れ替え後のアプリケーションに引き継がない場合に指定します。
入力例
cjreplaceapp MyServer -name App1 -f App1.ear
戻り値
- 0:
-
正常終了しました。
- 1:
-
異常終了しました。
- 2:
-
排他エラーによってコマンドを実行できません。
- 3:
-
タイムアウトが発生しました。
- 9:
-
管理者特権がないため,コマンドが実行できません(Windowsの場合)。
注意事項
-
展開ディレクトリ形式のアプリケーションに対しては使用できません。
-
DDファイル(application.xml,ejb-jar.xml,web.xml)のどれかが「なし」から「あり」に,または「あり」から「なし」になった場合,J2EEアプリケーションの入れ替えはできません。
-
コマンドの引数にサーバ名称を指定する場合,コマンド名の直後にする必要があります。そのほかの引数は,サーバ名称より後ろ(サーバ名称を省略した場合はコマンド名の後ろ)にあれば順序は任意です。ただし,オプション名と値の順序の入れ替え(例:<ファイルパス> -file)やオプション名と値を非対応にすること(例:-nameserver <ファイルパス> -file <プロバイダURL>)はできません。
-
コマンドの引数にサーバ名称を指定する場合,cjsetupコマンドで指定したサーバ名称と大文字・小文字を一致させた文字列を指定する必要があります。
-
アプリケーションサーバのアプリケーション実行環境情報ファイル(拡張子.zip)を指定した場合,エラーになります。
-
-nameに指定されたアプリケーション名とアプリケーションファイル内のDDファイル(application.xml)の<display-name>タグに指定されたアプリケーション名が異なる場合,エラーになります。
-
入れ替え前と入れ替え後のJ2EEアプリケーションの構成に次のような違いがあった場合,エラーになります。
-
J2EEアプリケーション内のEJB-JAR,リソースアダプタ,WARの数が異なる場合。
-
J2EEアプリケーション内のEJB-JARファイル,RARファイル,WARファイルの名称が異なる場合。
-
-replaceDDを指定した場合に,DDファイル(application.xml,ejb-jar.xml,ra.xml,web.xml)の定義が異なるとき。
-
EJB-JARファイル内のホームインタフェース,コンポーネントインタフェースのメソッド定義が異なる場合。
-
EJB-JARファイル内のホームインタフェース(ローカル,リモート),コンポーネントインタフェース(ローカル,リモート),ビジネスインタフェース(ローカル,リモート)のメソッド定義が異なる場合。
-
設定しているアノテーションの値を変更した場合。
-
-
J2EEアプリケーションの停止処理が-tオプションで指定した時間内に終了しなかった場合,サーバ管理コマンド用システムプロパティファイルのejbserver.rmi.request.timeoutキーで指定した時間で強制終了します。
-
デフォルトでは,J2EEアプリケーションのすべての属性情報を引き継ぎます。ランタイム属性※だけを引き継ぎたい場合は,-replaceDDオプションを指定してコマンドを実行します。
- 注※
-
属性ファイルには,DDファイル(application.xml,ejb-jar.xml,ra.xml,web.xml)の定義と属性ファイル独自の定義を設定できます。属性ファイル独自の定義のことを,ランタイム属性といいます。
-
入れ替え後のJ2EEアプリケーションが,cosminexus.xmlを含んでいて,CMP2.0を利用する場合,J2EEアプリケーションが停止状態のときにこのコマンドを実行してください。また,このコマンドを実行した後,デプロイ前にcjgencmpsqlコマンドを実行する必要があります。
-
-nameオプションに指定したJ2EEアプリケーションの種別と-fオプションに指定したファイルの種別が異なる場合はエラーになります。
-
引数に指定したファイルサイズの約3倍のJavaヒープを一時的に使用します。ファイルサイズを3倍にした値がJ2EEサーバのJavaヒープの見積もり値を超える場合は,ファイルサイズの3倍の値をJ2EEサーバのJavaヒープのサイズに指定する必要があります。