4.2.2 java_hras
Application Serverと連携しないJavaアプリケーションプログラムの実行
書式
java_hras [options] class [argument...] java_hras [options] -jar file.jar [argument...]
格納先
Application Serverインストールディレクトリー\jdk\jre\bin\
機能
このコマンドは、単体Javaプログラム実行機能を有効にした状態でJava VMを起動し、Javaアプリケーションを実行します。単体Javaプログラム実行機能が有効な場合は、トラブルシュートに必要な独自機能が有効となります。
java_hrasコマンド実行時のオプション指定として、トラブルシュートに必要な独自機能のON/OFFをオプションで指定した場合は、その指定が優先されます。同じオプションを複数指定した場合は、最後に指定したオプションの値が有効になります。
単体Javaプログラム実行機能有効時に切り替わるオプションを次に示します。
項番 |
カテゴリ |
オプション |
Java VMデフォルト値 |
単体Javaプログラム実行機能有効時 |
---|---|---|---|---|
1 |
Java VMログ出力 |
HitachiVerboseGC |
OFF |
ON |
2 |
HitachiOutputMilliTime |
OFF |
ON |
|
3 |
HitachiOutOfMemoryStackTrace |
OFF |
ON |
|
4 |
HitachiJavaClassLibTrace |
OFF |
ON |
|
5 |
スレッドダンプ出力 |
HitachiLocalsInStackTrace |
OFF |
ON |
6 |
HitachiLocalsSimpleFormat |
OFF |
ON |
|
7 |
HitachiOutOfMemoryAbort |
OFF |
ON |
単体Javaプログラム実行機能が有効になると、単体Javaプログラム実行機能未使用時のjavaコマンド実行時と比べ、次に示す違いがあります。
-
スタックトレース
単体Javaプログラム実行機能使用時、Javaプログラムのメインスレッドのスタックトレース情報は、単体Javaプログラム実行機能未使用時のJavaプログラム実行時と異なります。
-
java_hrasコマンドは-Xhrasオプションを指定できません。
これら以外の機能は、単体Javaプログラム実行機能未使用時のjavaコマンドと同じです。
引数
指定できるオプションなどは、javaコマンドと同じです。ただし、-Xhrasオプションだけは指定できません。
- options
-
コマンド行オプションを指定します。
- class
-
呼び出されるクラスの名称を指定します。
- -jar file.jar
-
呼び出されるJARファイルの名称を指定します。
- argument
-
main関数に渡される引数を指定します。
出力例
出力例1
スレッドダンプ出力によってメインスレッドのスタックトレース情報を取得した場合。
-
単体Javaプログラム実行機能:使用時
main #1 prio=5 os_prio=0 jid=<N/A> tid=0x000000000230a800 nid=0x1988 waiting on condition [0x000000000282e000..0x000000000282fbc0] java.lang.Thread.State: TIMED_WAITING (sleeping) stack=[0x0000000002830000..0x0000000002734000..0x0000000002731000..0x0000000002730000] [user cpu time=218ms, kernel cpu time=46ms] [blocked count=0, waited count=0] at java.lang.Thread.sleep(Native Method) at Hoge.main(Hoge.java:5) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at JP.co.Hitachi.soft.jvm.tools.Java_hras.execJava(Java_hras.java:52) at JP.co.Hitachi.soft.jvm.tools.Java_hras.main(Java_hras.java:39)
-
単体Javaプログラム実行機能:未使用時
"main" #1 prio=5 os_prio=0 jid=<N/A> tid=0x00000000002b7800 nid=0x1fa0 waiting on condition [0x000000000278f000..0x000000000278f9c0] java.lang.Thread.State: TIMED_WAITING (sleeping) stack=[0x0000000002790000..0x0000000002694000..0x0000000002691000..0x0000000002690000] [user cpu time=171ms, kernel cpu time=46ms] [blocked count=0, waited count=0] at java.lang.Thread.sleep(Native Method) at Hoge.main(Hoge.java:5)
出力例2
起動時に指定したメインクラスのmainメソッド実行中に、mainメソッド内でキャッチされないjava.lang.Exception例外が発生した場合。
-
単体Javaプログラム実行機能:使用時
Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at JP.co.Hitachi.soft.jvm.tools.Java_hras.execJava(Java_hras.java:51) at JP.co.Hitachi.soft.jvm.tools.Java_hras.main(Java_hras.java:38) Caused by: java.lang.Exception: java.lang.Throwable at Test.main(Test.java:6) ... 6 more Caused by: java.lang.Throwable ... 7 more
-
単体Javaプログラム実行機能:未使用時
Exception in thread "main" java.lang.Exception: java.lang.Throwable at Test.main(Test.java:6) Caused by: java.lang.Throwable ... 1 more
戻り値
javaコマンドと同じです。
注意事項
javaコマンドを実行するには、次に示す方法があります。
-
Application Serverインストールディレクトリー/jdk/jre/bin/java_hrasコマンドを使用する。
-
-Xhrasオプションを指定したjavaコマンドを使用する。
-
javaコマンド実行時、環境変数JAVA_HRASを設定する。
ほかの方法で実行した場合、コマンドの実行に失敗し、次のメッセージが出力されます。
Java command cannot be used except in some special cases. When starting a Java program, use the java_hras command, etc.
Depending on the Java program executed, it might be necessary to purchase the other product.
javawコマンドを実行するには、次に示す方法があります。
-
-Xhrasオプションを指定したjavawコマンドを使用する。
-
javawコマンド実行時、環境変数JAVAW_HRASを設定する。
ほかの方法で実行した場合、コマンドの実行に失敗し、次のメッセージが出力されます。
Javaw command cannot be used except in some special cases. When starting a Java program, use the java_hras command, etc.
Depending on the Java program executed, it might be necessary to purchase the other product.