8.1.1 アーカイブ形式のJ2EEアプリケーションのインポート
次に示すコマンドを実行して,アーカイブ形式のJ2EEアプリケーションをインポートします。
- 実行形式
cjimportapp [<サーバ名称>] [-nameserver <プロバイダURL>] -f <EARファイルのパス>
- 実行例
cjimportapp MyServer -f C:\home\bank.ear
cjimportappコマンドの詳細については,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「cjimportapp(J2EEアプリケーションのインポート)」を参照してください。
(1) 実行時情報に関する注意事項
実行時情報はアプリケーションサーバのJ2EEサーバ独自の情報です。次の情報が含まれています。
項目 |
情報 |
---|---|
J2EEアプリケーションの状態 |
開始/停止状態の情報 |
J2EEアプリケーションの各種設定 |
など |
自動生成実装クラス |
|
リモートインタフェースのstubクラス,tieクラス |
|
実行時情報付きEARファイルをインポートした場合の注意事項を,次に説明します。
-
エクスポートされたときのJ2EEアプリケーションの状態が復元されます。したがって,開始済みのJ2EEアプリケーションをインポートした場合,すぐにJ2EEアプリケーションが開始されます。
-
J2EEアプリケーションの各種設定が復元されます。インポートするJ2EEサーバ上に,エクスポートしたJ2EEサーバと同じ名称でJ2EEリソースアダプタ,JDBCデータソース,またはJavaMailコンフィグレーションを作成しておくと,インポート時に参照が解決されます。このため,開始済みのJ2EEアプリケーションをインポートする場合は,エクスポートしたJ2EEサーバと同じ名称でJ2EEリソースアダプタ,JDBCデータソースまたはJavaMailコンフィグレーションを事前に作成しておいてください。また,J2EEリソースアダプタを開始させた状態で,J2EEアプリケーションをインポートしてください。
-
実行時情報付きEARファイルに含まれる,自動生成実行クラス,リモートインタフェースのstubクラス,tieクラスは再利用されます。ただし,旧バージョンでエクスポートしたEARファイルをインポートした場合は,再作成されます。
-
実行環境情報ファイルは変更しないようにしてください。
(2) EARのDDに関する注意事項
Java EEの仕様に準拠しないDDを持つEARはインポートできません。
DDのバージョンが古い場合,バージョンを次のように変更します。
DD |
インポート前のバージョン |
インポート後のバージョン |
---|---|---|
application.xml |
1.2 |
1.4 |
1.3 |
||
ejb-jar.xml |
1.1 |
2.0 |
web.xml |
2.2 |
2.3 |
(3) そのほかの注意事項
-
インポートするファイルが,J2EEサーバからエクスポートしたJ2EEアプリケーションでない場合,次の名称のファイルを含めないでください。
-
hitachi-runtime.jar
-
rar.properties
-
fileinfo.properties
-
META-INF/hitachi-ra.xml
-
-
J2EEアプリケーション開始時には,EJBホームオブジェクトのJNDI名前空間(HITACHI_EJB/SERVERS/<サーバ名称>/EJB/<J2EE APP名称>/<Enterprise Bean名称>)の<J2EE APP名称>に該当する名前が自動的に割り当てられます。JNDI名前空間については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「2.3 JNDI名前空間へのオブジェクトのバインドとルックアップ」を参照してください。
-
EARファイル中のEJB-JARファイル名は作業ディレクトリ中のディレクトリ名として使用されます。また,EJB-JARファイル中に,ホームインタフェースなど,java.rmi.Remoteを実装したクラスがあると,usrconf.propertiesファイルの定義内容に応じて,デプロイ・スタート時に作業ディレクトリ内にスタブが生成されます。デフォルトの設定の場合,スタブは,ejb-jar.xmlの<remote>および<home>に記述されたインタフェースに対して作成されます。usrconf.propertiesファイルのejbserver.deploy.stub.generation.scopeキーにappを指定した場合は,EJB-JARファイルに含まれるリモートインタフェースを実装したすべてのインタフェースのスタブが生成されます。
これらのことを考慮して,作業ディレクトリのパス長がプラットフォームの上限に達しないようにEJB-JARファイル名,java.rmi.Remoteを実装したクラスのパッケージ名,およびクラス名を指定してください。
なお,作業ディレクトリのパス長の見積もりについては,マニュアル「アプリケーションサーバ システム構築・運用ガイド」の「付録C.1 J2EEサーバの作業ディレクトリ」を参照してください。
-
EARファイル中のWARファイル名は作業ディレクトリ中のディレクトリ名として使用されます。また,WARファイル内のファイルは作業ディレクトリ内に展開されます。WARファイル中に,ホームインタフェースなど,java.rmi.Remoteを実装したクラスがあると,usrconf.propertiesファイルの定義内容に応じて,デプロイ・スタート時に作業ディレクトリ内にスタブが生成されます。usrconf.propertiesファイルのejbserver.deploy.stub.generation.scopeキーにappを指定した場合は,WARファイルに含まれるリモートインタフェースを実装したすべてのインタフェースのスタブが生成されます。
これらのことを考慮して,作業ディレクトリのパス長がプラットフォームの上限に達しないようにWARファイル名,WARファイル中のパッケージ名やクラス名,およびjava.rmi.Remoteを実装したクラスのパッケージ名やクラス名を指定してください。
-
EARファイル中のライブラリJARファイル名は,作業ディレクトリ中のディレクトリ名として使用されます。作業ディレクトリのパス長がプラットフォームの上限に達しないようにJARファイル名を指定してください。
-
EARファイル中のEJB-JAR同士,WAR同士で表示名が重複している場合はインポートできません。表示名が空文字または指定されていない場合は,ファイル名を変換した文字列が指定されます。この値が重複した場合もインポートできません。
-
インポートした実行時情報付きのJ2EEアプリケーションの実行時情報にエラーがある場合,J2EEアプリケーションのインポートに失敗します。このとき,J2EEアプリケーションは自動開始されないで削除されます。J2EEアプリケーションが削除されないようにするには,cjimportappコマンドの-nodeleteオプションを指定してJ2EEアプリケーションをインポートしてください。このとき,J2EEアプリケーションは削除されないでインポートできますが,自動開始されないので,必要に応じてエラーを取り除き,J2EEアプリケーションを開始してください。
-
インポートするアプリケーションにapplication.xmlがある場合の表示名,およびディレクトリ名の変換規則は次のとおりです。
-
application.xmlの<display-name>タグの値が表示名となります。
-
<display-name>タグの値がない場合,-fオプションに指定したEARファイル名を変換した文字列が表示名になります。
なお,ファイル名に汎用文字と数字以外の文字が含まれている場合,その文字はアンダースコア(_)に置き換えられます。
置換対象の文字が続けて出現する場合は一つのアンダースコア(_)に纏められます。
-
application.xmlの<module>タグに記述されたパス名から拡張子を除いた名称がEJB-JARディレクトリ名,またはWARディレクトリ名となります。
-
-
インポートするアプリケーションにapplication.xmlがない場合の表示名,およびディレクトリ名の変換規則は次のとおりです。
-
-fオプションに指定したファイル名から拡張子を除き,変換した文字列が表示名になります。
なお,半角英数字(0〜9,A〜Z,a〜z),アンダースコア(_)以外の文字はアンダースコア(_)に置き換えられます。
-
ピリオド(.)が最初に現れるファイル名の場合は,ピリオド(.)を除かないで変換した文字列が表示名になります。
-
EJB-JARディレクトリ名の最後は「_jar」,WARディレクトリ名の最後は「_war」となります。
-