2014-04-06 47 views
1

这是我第一次使用jconsole。jconsole无法连接ssl1?

使用这个的最终目标是使用内存redis使用度量。但是,因为这是我第一次只想从打印短语的小型java项目开始。

这是我的源代码。

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++; 
     } 
    } 
}; 

我写了这段代码之后,我试着运行jconsole。所以我在eclipse中运行这个程序,同时我在终端执行'jconsole'命令。如下所示。

>jconsole 

一个UI界面POP操作了,我可以看到我的节目的进程ID:

enter image description here

所以我选择“本地”和我的进程ID,然后按连接按钮。

但它显示了这样的错误消息。

ConnectionFailedSSL1 
ConnectionFailedSSL2 
<Cancel> <Insecure> 

难道我不得不额外的工作来执行JConsole的?给我一些具体的使用说明。我真的没有任何'SSL'的概念(我所知道的是SSL是安全套接字层的缩写)

我的操作系统是OSX Mavericks。

+0

如果选择“不安全”而不是“取消”会发生什么? –

+0

@WarrenDew当我按下不安全的按钮,它的作品。谢谢。但是,当我在这里发布这个问题时,它不起作用。很难重现那种情况。再次感谢:D(我应该抹去这篇文章?) –

+0

不要抹去帖子。其他人可能有同样的问题;在这里留下帖子可以让他们通过搜索找到答案,而不必发布新问题。 –

回答

1

显然,jconsole无法验证在与JVM建立直接SSL连接时收到的证书。由于它位于本地机器上,因此选择“不安全”并连接时无需证书认证应该是安全的。

+0

非常感谢。我今天学了些新东西。祝你今天愉快。 –

1

您还应该确保JVM和jconsole是相同的版本 - 特别是64和32位。

1

我们已经看到上述行为与“ConnectionFailedSSL1”抱怨,即使是与auth/ssl的本地连接关闭(所有默认设置)与1.7.0_45-b18,它消失与1.7.0_75-b13,回到它如何使用Java 1.6。