Question

This is my very first time to use jconsole.

The final goal of using this is measuring using memory redis uses. However, since this is my first time I want to just begin with small java project which just prints a phrase.

Here is my source code.

public class Main {
    public static void main(String[] args) throws Exception {

        int cnt = 0;
        while(true){
            if(cnt == 100)
                break;

            System.out.println("Save me from the nap!");
            Thread.sleep(1000*30);
            cnt++;
        }
    }
};

After I wrote this code, I tried to run jconsole. So I ran this program in eclipse, at the same time, I execute 'jconsole' command in terminal. like below.

>jconsole

A UI interface poped up and I can see process ID of my program:

enter image description here

So I choose 'local' and my process ID and press connect button.

But it shows an error message like this.

ConnectionFailedSSL1
ConnectionFailedSSL2
<Cancel> <Insecure>

Do I had to extra job to execute jconsole? Give me some specific instruction to use this. I really do not have any concept of 'SSL'.(All I know about this is SSL is abbreviation of Secure Socket Layer)

My OS is OSX Mavericks.

Was it helpful?

Solution

Apparently jconsole cannot authenticate the certificate it received on making a direct SSL connection to the JVM. Since it's on the local machine, it should be safe to select "insecure" and connect without certificate authentication.

OTHER TIPS

You should also make sure that the JVM and jconsole are the same version - particularly 64 vs 32 bits.

we've seen the above behavior complaining with "ConnectionFailedSSL1" even for a local connection with auth/ssl turned off (all defaults) with 1.7.0_45-b18 and it goes away with 1.7.0_75-b13, back to how it used to be with java 1.6.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top