JAVAプログラムの実行 (JAVA)

JAVAプログラム実行(JAVA)コマンドは,指定したJAVAクラスと関連したJAVAプログラムを実行します。JAVAプログラムが存在しない場合には,これが作成され,クラス・ファイルと関連付けられます。

このコマンドは,統合ファイル・システムAPIをサポートするファイル・システム中のファイルで操作することができます。

パラメーター

キーワード 記述 選択項目 ノーツ
CLASS クラス・ファイルまたはJARファイル パス名, *VERSION 必須, 定位置 1
PARM パラメーター 単一値: *NONE
その他の値 (最大 200 回の繰り返し): 文字値
オプショナル, 定位置 2
CLASSPATH クラスパス パス名, *ENVVAR オプショナル
CHKPATH クラスパス機密保護検査レベル *WARN, *SECURE, *IGNORE オプショナル
OPTIMIZE 最適化 *JIT, *INTERPRET, 10, 20, 30, 40 オプショナル
INTERPRET 解釈 *OPTIMIZE, *YES, *NO, *JIT オプショナル
PROP プロパティー 単一値: *NONE
その他の値 (最大 200 回の繰り返し): 要素リスト
オプショナル
要素 1: プロパティー名 パス名
要素 2: プロパティー値 文字値, X''
GCHINL ガーベッジ・コレクション初期サイズ 256-240000000, *DFT オプショナル
GCHMAX ガーベッジ・コレクション最大サイズ 256-240000000, *DFT, *NOMAX オプショナル
GCFRQ ガーベッジ・コレクション頻度 0-100, 50 オプショナル
GCPTY ガーベッジ・コレクション優先順位 20, 10, 30 オプショナル
OPTION オプション 値 (最大 4 回の繰り返し): *NONE, *VERBOSE, *DEBUG, *VERBOSEGC, *NOCLASSGC オプショナル
JOB ジョブ名 名前, QJVACMDSRV, *GEN オプショナル
AGTPGM エージェント・プログラム 単一値: *NONE
その他の値: 修飾オブジェクト名
オプショナル
修飾子 1: エージェント・プログラム 名前
修飾子 2: ライブラリー 名前, *LIBL, *CURLIB
AGTOPTIONS エージェント・オプション 文字値, *NONE オプショナル
OUTPUT 出力 単一値: *PRINT, *NONE
その他の値: 要素リスト
オプショナル
要素 1: 宛先 *
要素 2: プログラム終了処置 *PAUSE, *CONTINUE

クラス・ファイルまたはJARファイル (CLASS)

実行するクラス名またはJARファイルを指定します。このクラス名は,1つまたは複数のパッケージ名で修飾される場合があります。各パッケージ名の後ろには,ピリオドがなければなりません。たとえば,CLASS('PKG1.PKG2.MYCLASS')は,2つのパッケージ名で修飾されたクラスとして識別されます。

JARファイル名は,JDK 1.2またはそれ以上を実行している時にのみ指定することができます。始動クラスは,MANIFESTのヘッダー中のメイン・クラスによって示されていなければなりません。

クラス名
実行するクラスの名前を指定します。
JAR名
メイン・クラスがMANIFESTで指定されたJARファイルの名前を指定します。
*VERSION
Java Development Kit(JDK)およびJAVA仮想マシン(JVM)の構築バージョンが表示されます。実行されるJAVAプログラムはありません。

パラメーター (PARM)

JAVAプログラムに渡される1つまたは複数のパラメーター値を指定します。最大200パラメーター値まで渡すことができます。

*NONE
JAVAプログラムに対する入力パラメーターはありません。
パラメーター値
JAVAプログラムに渡されるパラメーター値を指定します。

クラスパス (CLASSPATH)

クラスの位置指定に使用するパスを指定します。ディレクトリーは,コロンで区切られます。

*ENVVAR
クラスパスは,環境変数CLASSPATHによって決定されます。
クラスパス
クラスの位置指定に使用するパス。クラスパスの例としては,'/DIRECTORY1/DIRECTORY2:/QIBM/PRODDATA/JAVA400'です。

クラスパス機密保護検査レベル (CHKPATH)

共通書き込み権限をもつCLASSPATH中のディレクトリーに指定された警告のレベルを指定します。共通書き込み権限をもつCLASSPATH中のディレクトリーは,実行しようとするものと同じ名前を持つクラス・ファイルを含む可能性があるので,機密漏れとなります。これらのクラス・ファイルのうち,最初に見つかったファイルが実行されます。

*WARN
警告メッセージは共通書き込み権限をもつCLASSPATH中のディレクトリーごとに送信されます。
*SECURE
警告メッセージは共通書き込み権限をもつCLASSPATH中のディレクトリーごとに送信されます。1つまたは複数の警告メッセージが送信された場合には,エスケープ・メッセージが送信され,JAVAプログラムは実行されません。
*IGNORE
CLASSPATH中のディレクトリーが共通書き込み権限をもつという事実を無視します。警告メッセージは送信されません。

最適化 (OPTIMIZE)

このパラメーターは,既にサポートされていません。これは単に,バージョン7リリース2モディフィケーション0より前のリリースとの互換性のために存在しています。

解釈 (INTERPRET)

このパラメーターは,既にサポートされていません。これは単に,バージョン7リリース2モディフィケーション0より前のリリースとの互換性のために存在しています。

プロパティー (PROP)

JAVAプロパティーに割り当てられる値のリストを指定します。値を割り当てられるのは,200個のプロパティーまでです。

単一値

*NONE
指定されるプロパティーはありません。

要素1: プロパティー名

プロパティー名
変更するプロパティーの名前を指定します。

要素2: プロパティー値

プロパティー値
そのプロパティーに割り当てる値を指定します。

ガーベッジ・コレクション初期サイズ (GCHINL)

ガーベッジ・コレクション・ヒープの初期サイズ(Kバイト)を指定します。これは,ガーベッジ・コレクションが小さなプログラムで開始されないようにするために使用します。

*DFT
プロパティーによって指定変更しないかぎり,省略時の初期サイズは16384キロバイトです。
256-240000000
ガーベッジ・コレクション・ヒープの初期サイズ(バイト)を指定します。初期ヒープ・サイズを16384 Kバイト(省略時の値)以上に設定することをお勧めします。

ガーベッジ・コレクション最大サイズ (GCHMAX)

ガーベッジ・コレクション・ヒープが増加できる最大サイズ(Kバイト)を指定します。これは,使用可能なすべての記憶域を消費するランナウェイ・プログラムを回避するために使用します。通常,ガーベッジ・コレクションは別のスレッドと並列した非同期スレッドとして実行されます。最大サイズに達した場合には,他のすべてのスレッドは停止しますが,ガーベッジ・コレクションは実行されます。これによって,逆にパフォーマンスに影響する場合があります。

*DFT
パラメーターの省略時値を使用します。省略時の最大値は,プロパティーを指定しないかぎり,システムによって決められます。ヒープは,すべてのシステム資源が使い尽くされるまで増加します。同期ガーベッジ・コレクションが開始され,もう使用されない資源を再利用します。
*NOMAX
最大サイズは,ユーザーによって指定されません。最大はシステムによって決定されます。ヒープは,すべてのシステム資源が使い尽くされるまで増加します。同期ガーベッジ・コレクションが開始され,もう使用されない資源を再利用します。
256-240000000
ガーベッジ・コレクション・ヒープを大きくできるサイズをキロバイト数で指定します。

ガーベッジ・コレクション頻度 (GCFRQ)

このパラメーターは,既にサポートされていません。これは単に,バージョン4リリース3モディフィケーション0より前のリリースとの互換性のために存在しています。

ガーベッジ・コレクション優先順位 (GCPTY)

このパラメーターは,既にサポートされていません。これは単に,バージョン4リリース3モディフィケーション0より前のリリースとの互換性のために存在しています。

オプション (OPTION)

JAVAクラスを実行している時に使用する特殊オプションを指定します。

*NONE
JAVAクラスを実行している時に使用される特殊オプションはありません。
*VERBOSE
クラス・ファイルがロードされるごとにメッセージが表示されます。
*DEBUG
このJAVAプログラムに対して,システム・デバッガーを使用できるようにします。この値は,JITコンパイラーでは使用できません。すなわち,*DEBUGはINTERPRET(*JIT)と相互に排他的です。また,CLASSキーワードにJARファイルを指定した時には,*DEBUGを使用することはできません。
*VERBOSEGC
ガーベッジ・コレクションのスイープごとにメッセージが表示されます。
*NOCLASSGC
ガーベッジ・コレクションが実行される時に,未使用クラスが再利用されません。

ジョブ名 (JOB)

このコマンドの実行時に開始されるバッチ即時(BCI)ジョブと関連づけられる名前を指定します。BCIジョブはJAVAプログラムが実行される場所です。

QJVACMDSRV
BCIジョブのジョブ名はQJVACMDSRVになります。
*GEN
ジョブ名はクラス名から生成されます。
名前
JAVAプログラムの実行に使用するBCIジョブ用に使用する名前を指定します。

エージェント・プログラム (AGTPGM)

仮想マシン(VM)エージェントを含むILEサービス・プログラムまたはi5/OS PASEプログラムを指定します。たとえば,VMエージェントはリモート・デバッガーまたはプロファイラーとすることができます。VMは,エージェント・プログラムをロードし,次のように入り口点を探します。

JINT JNICALL JVM_ONLOAD(JAVAVM *JVM, CHAR *OPTIONS, VOID *RESERVED);

VMは,JVM_ONLOAD関数を呼び出し,最初の引き数としてポインターをJAVAVMインスタンスに渡し,AGTOPTIONSパラメーターに指定した文字ストリングを2番目の引き数として渡します。JVM_ONLOADへの3番目の引き数は予約されていて,NULLに設定されます。

単一値

*NONE
VMエージェント・プログラムは指定されません。

修飾子1: エージェント・プログラム

名前
VMエージェント・プログラムの名前を指定します。

修飾子2: ライブラリー

*LIBL
最初の一致が見つかるまで,現行スレッド用のライブラリー・リスト中のすべてのライブラリーが検索されます。VMエージェントがi5/OS PASEプログラムの場合には,LIBPATHおよびPASE_LIBPATH環境変数に含まれるディレクトリーがプログラムの検索に使用されます。
*CURLIB
スレッドの現行ライブラリーが検索されます。スレッドの現行ライブラリーとして指定されているライブラリーがない場合,QGPLライブラリーが検索されます。
名前
検索するライブラリーの名前を指定してください。

エージェント・オプション (AGTOPTIONS)

仮想マシン(VM)エージェント・オプションの文字ストリングを指定します。この文字ストリングへのポインターは,AGTPGMパラメーターに指定されたVMエージェント・プログラムのJVM_ONLOAD関数に2番目の引き数として渡されます。このオプション・ストリングの形式はそのエージェント・プログラムによって決まります。

*NONE
オプションは指定されません。NULLのオプション引き数がJVM_ONLOAD関数に渡されることになります。
文字値
開始時にVMエージェント・プログラムに渡すオプション・ストリングを指定します。

出力 (OUTPUT)

JAVAプログラムからの出力の送り先を指定しますが,出力をJAVAシェル表示に向ける場合には,JAVA プログラムの終了時に,シェル表示パネルを終了するかどうかを指定します。

単一値

*PRINT
JAVAプログラムの出力は,QPRINT印刷装置ファイルを介してスプール・ファイルに送られます。
*NONE
JAVAプログラムの出力は廃棄されます。

要素1: 宛先

*
JAVAプログラムを対話式ジョブから実行した場合には,出力の表示にJAVAシェル表示パネルが使用されます。JAVAプログラムをバッチ・ジョブから実行すると,JAVAプログラムの出力は,QPRINT印刷装置ファイルを介してスプール・ファイルに送られます。

要素2: プログラム終了処置

*PAUSE
F3, F12,または実行キーを押すまで,JAVAシェル表示パネルが表示されます。
*CONTINUE
JAVAプログラムの終了時にJAVAシェル表示パネルがクローズされます(消えます)。

1: JAVAプログラムの実行

JAVA   CLASS('PROJECTA.MYJAVACLASSNAME')

このコマンドは,クラスMYJAVACLASSNAMEと関連づけられたi5/OS JAVAプログラムを実行します。JAVAプログラムを実行するバッチ即時(BCI)ジョブのジョブ名はQJVACMDSRVになります。

2: JAVAプログラムのジョブ名の生成

JAVA   CLASS('PROJECTA.MYJAVACLASSNAME') JOB(*GEN)

このコマンドは,クラスMYJAVACLASSNAMEと関連づけられたi5/OS JAVAプログラムを実行します。JAVAプログラムを実行するバッチ即時(BCI)ジョブのジョブ名はMYJAVACLASになります。

エラー・メッセージ

*ESCAPE メッセージ

JVAB534
JAVAプログラム"&1"を完了できません。
JVAB537
JAVAシェルがジョブで既に活動状態になっています。
JVAB538
JAVAシェルの実行中に,エラーが発生しました。
JVAB539
システム・デバッガーを開始できません。
JVAB53A
JAVAシェルを開始できません。理由コードは&1です。
JVAB53B
JAVA処理が取り消されました。
JVAB53D
JAVA DEVELOPMENT KITが見つかりませんでした。
JVAB546
JAVAをバッチ・モードで実行中に,エラーが検出されました。