开发者社区> 问答> 正文

关于JDK1.7中keyset错误!NoSuchMethodErrorjava.util.concurrent.ConcurrentHashMap.keySet

[ERROR 2016-07-06 16:38:15 c.a.j.t.e.BaseExecutors:163 spout:11-MultipleThreadSpoutExecutors] Init error  java.lang.
NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
at com.alibaba.rocketmq.client.impl.factory.MQClientInstance.prepareHeartbeatData(MQClientInstance.java:479) ~[stormjar.jar:na]

在自己集群上跑一直会报这个错误
查了下原因是rocketMQ源码中ConcurrentHashMap用到了keySet
但是jdk1.7貌似不支持keyset
想问下各位有人遇到这个错误了么
是怎么解决的啊
谢谢了~

展开
收起
KKys 2016-07-06 16:42:12 6030 0
4 条回答
写回答
取消 提交回答
  • I like to program and write stuff, making things a reality always make me excited. Now, I am a Apache committer.
    你就别为比赛集群操心了,专心自己的代码吧。
    keySet的这个接口,应该从有map开始就有吧。只是KeySetView since 1.8的。
    你这种情况应该是用1.8编译了RocketMQ,但后续又在1.7的环境里运行。你可以将自己的集群统一成一个版本。

    -------------------------

    回 6楼(uestc_ys) 的帖子
    仔细检查环境吧,这种情况是不可能的。
    2016-07-07 13:21:13
    赞同 展开评论 打赏
  • 回 1楼shieldw的帖子
    关键是 这个报错指向的是rocketmq源码里ConcurrentHashMap.keySet的部分
    所以我的疑问是 比赛环境是jdk7的话  测试的时候不就会一直报错么

    -------------------------

    回 2楼玄弟的帖子
    关键是 这个报错指向的是rocketmq源码里ConcurrentHashMap.keySet的部分
    所以我的疑问是 比赛环境是jdk7的话  测试的时候不就会一直报错么

    -------------------------

    回 5楼尘央的帖子
    恩恩  应该是这么个情况
    但是现在我在本地用1.7编译 再放到1.7的集群上还是这么个错误....
    泪奔啊!
    2016-07-07 10:11:37
    赞同 展开评论 打赏
  • 有道理
    2016-07-06 16:50:37
    赞同 展开评论 打赏
  • Re关于JDK1.7中keyset错误!NoSuchMethodErrorjava.util.concurrent.ConcurrentHashMap.keySet
    我遇到过,把jdk都换成1.8
    2016-07-06 16:46:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载