• RMI non-JRMP server at remote endpoint


    又是一个jmx问题

    jmx明明端口占用了, 而且相关java进程也起来了, 为什么会不能通过jconsole访问jmx呢?总是:RMI non-JRMP server at remote endpoint

    证书不对吗? 为什么通过的密码,那个机器的jms-ssl证书和我本机的大小不一样? 权限问题? 明明没错的? 拿我的证书拷贝过去, 结果, 还是一样。。。

    jmx-client.xml、jmx-server.xml配置问题?修改后报密码不对—— 那说明了原来密码是没问题的! 白名单?—— 我擦,现在的jmx启动加入了白名单功能: 只允许名单内的机器去连接。 加上白名单,重启,还是一样。。。。

    他又开始不停的说我“靠猜”了,。。

    真TM郁闷。 远程调试吧, 代码对应不上了。方法跳来跳去, 而且又卡, 实在搞不懂啊。。  好像行号不对啊。整个更新本机代码, 刷新,重新远程调试  。。。 仍然不行,,, 下载远端代码,反编译,发现一样的啊, 那为什么不能代码对应上呢 ——— 之前都是好好的,,,,, —— 看日志,我想可能是这样吧。。。 ( 我没意思到,我已经在猜了, 虽然日志提供了一定的证据,但是并不是直接原因)

    他又开始不停的说我“靠猜”了。。。

    在他的指导下, 添加上源码,代码可以对应得上的调试了

    ———— 这个就明显不是password的问题了,如果password不对,提示不是这样的。

    仔细仔细再看看。 还是明白, 代码跳来跳去,而且远程调试有很卡, 我十分郁闷。 

    最后还是他看到了原因。说是锁住了—— 我一听,好像是这么回事哦。—— 这代码里面到处是synchronized, 到处是filelock。 等等 , 还有很多的atomic的操作。。。 很多陌生api

    我仔细看,可是没看到哪里有死锁啊,—— 他是怎么发现的? 通过jstat? jconsole? jvisualvm? jmap ?  哎

    请教, 原来是死循环! 神奇的死循环!! 难怪之前调试有时候看到StackOverFlow呢!  难怪一个方法一直没反应过来呢,难怪他进去后就一直没出来了呢!难怪日志文件分秒不差的毫秒不差的不停打印日志呢!!  原来是死循环!!!  第一次在项目中碰到啊! 神奇了!

    A类包含mapProceInfo等等

    m1(processName) {

    if(mapProceInfo.contains(processName)) {

      复杂的process信息读取过程,并添加到mapProceInfo中。——————  因为配置文件配错了,所以,mapProceInfo一直为空, 此处就显然死循环

      读取过程中又刷新proceInfos, 刷新需要获取proceInfos,获取proceInfos调用的正是mapProceInfo!!!

    }

    return mapProceInfo.get(processName);

    }

    如图, 长时间的stepping 即表示了死!循!环!!!

  • 相关阅读:
    数据库连接池、事务
    JDBC、单元测试、DAO模式
    归并排序
    插入排序
    MySQL数据库
    JQuery
    JavaScript
    算法训练 连续正整数的和
    算法提高 寻找三位数
    算法训练 学做菜
  • 原文地址:https://www.cnblogs.com/FlyAway2013/p/3707650.html
Copyright © 2020-2023  润新知