Test.java を次のように作成
public class Test {
public static void main(String[] args) {
for (int i=0 ; i<10000 ; i++) {
try {
Thread.sleep(1000);
System.out.print(".");
} catch (Exception e) {
}
}
}
}
public static void main(String[] args) {
for (int i=0 ; i<10000 ; i++) {
try {
Thread.sleep(1000);
System.out.print(".");
} catch (Exception e) {
}
}
}
}
logging.properties を作成します。
handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level=FINEST
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
javax.management.level=FINEST
javax.management.remote.level=FINER
runTest.sh を作成して、 chmod 755 runTest.sh としておく。SSLを使わず、認証も使用しないのでセキュリティ的に問題がある。動作確認のために使う程度にして、実際はSSLあり、認証ありの設定で使用するべき。方法はSunのドキュメントにある。
#!/bin/sh
java -Djava.util.logging.config.file=logging.properties
-Dcom.sun.management.jmxremote.port=7080
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false $1
java -Djava.util.logging.config.file=logging.properties
-Dcom.sun.management.jmxremote.port=7080
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false $1
コンパイルして実行
javac Test.java
./runTest.sh Test
./runTest.sh Test
jconsoleを実行。LinuxではLANG=C をつけないと起動できない場合がある。
LANG=C jconsole
ローカルリソースでは、そのまま見ればいい。リモート経由でみたいときは、リモートとして localhost:7080 を指定。他のホストでjconsoleを起動した場合は hostname:7080 を指定。