×
文章路径: Java

JGroup无法加入同一组的一种情况

发表于1年前(Feb 26, 2017 1:39:12 PM)  阅读 616  评论 0

分类: Java 开发运维环境

标签: JGROUP 组播通信 集群通信 IPV6

笔者早在几年前就了解过JGroup这个工具,运行过官网上的例子,觉得挺有意思,当时就考虑过这东西可以用来作为集群之间的通讯工具。而最近真正使用它时,发现怎么也跑不了,跑不了也不是说它报错,就是启动两个程序,两个程序分别进入了不同的组,集群名称设置没错,两个程序都是一样的。当时的调试信息就不贴了,没有保留。

后来笔者在网上搜索了很久,终于找到了原因。原理是IPV6的原因,估计是笔者以前使用的是window,版本也比较低,现在使用的mac,带有IPV6功能,JGroup本来是支持IPV6的,但是据说JDK实现有些问题,必须禁用JDK的IPV6功能才行,在JVM配置里面加上下面的语句即可禁用:

-Djava.net.preferIPv4Stack=true

禁用后就连接正常了。

另外补充一句,JGroup4出来了,但是JDK版本要求升高了,至少需使用JDK1.8才行。

发表评论