JVM JGroups支持IPV6 和 IPV4

jvm加以下参数:-Djava.net.preferIPv4Stack=true可以停掉ipv6的支持
 
jgroups 2.3 + jdk6 是可以支持v4 和v6的。
关掉jvm的ipv6功能
  jvm加以下参数:-Djava.net.preferIPv4Stack=true
  
  Issues with JGroups and IPv6 on Linux
  In a nutshell: IPv6 works with JGroups !
  On Windows (XP), you have to enable IPv6 by clicking on any connection (e.g. "Local Area Connection") --> Properies --> Install --> Protocol --> IPv6. If you do ipconfig, you will see the new IPv6 addresses. By default, WinXP? seems to prefer IPv6.
  On Linux, IPv6 doesn't work (see below) due to a bug
in the JDKs up to and including JDK 5. Mustang (JDK 6) fixed this, and I verified that it works on RHAT fedora core 5 . So, on Linux, with SUN's VM, you *have* to use -Djava.net.preferIPv4Stack=true, until you switch to JDK 6. I haven't tried this on JRockit or IBM's VM.
  Here is the Jira issues: http://jira.jboss.com/jira/browse/JGRP-47

IP_MULTICAST_IF:
  java.net.SocketException: bad argument for IP_MULTICAST_IF: address not bound to any interface
   at java.net.PlainDatagramSocketImpl.socketSetOption(Native Method)
   at java.net.PlainDatagramSocketImpl.setOption(PlainDatagramSocketImpl.java:295)
  There was an earlier post mentioning the same symptoms. Assuming that you are running JBoss on Linux, if your Linux kernel has IPv6 support, you will have this problem. If you don't need IPv6 support, you can disable it from the kernel and the problem will go away.
  
  Turn off IPv6 in the Linux kernel
  To disable IPv6 in the kernel (or really, disable automatic loading of the IPv6 module - see here for IPv6 and Linux details for details), add the following line in your modules config file :
   alias net-pf-10 off # disable automatically load of IPv6 module on demand
  For 2.4 kernels, this would be in /etc/modules.conf or /etc/conf.modules. For 2.6 kernels, this would be in /etc/modprobe.conf or /etc/modprobe.conf.local (for SLES). You need to reboot the Linux box. I'm not sure of another way to disable this without a reboot. If you know of any, please update this page or add a link to some further docs on the subject.
  Also, once you disable this in the kernel, you can still enable IPv6 on an interface by following these instructions (for RedHat? at least).
  
  Turn off IPv6 in the JVM
  Another source of problems might be the use of IPv6, and/or misconfiguration of /etc/hosts. If you communicate between an IPv4 and an IPv6 host, and they are not able to find each other, try the java.net.preferIP4Stack=true property, e.g.
  java -Djava.net.preferIPv4Stack=true org.jgroups.demos.Draw
  JDK 1.4.1 uses IPv6 by default, although is has a dual stack, that is, it also supports IPv4. Here's
more details on the subject.
  IPv6 and IP Bonding
  Looks like turning IPv6 off also has the nice side effect that IP Bonding works (it doesn't work with IPv6 turned on). This is anecdotal (from a customer support case), and we need to verify this in the 2.3/2.4 time frame
  
  IPv6 support
  Due to a bug in the JDK on Linux, a socket cannot be bound to an IPv6 address. This is the reason why -Djava.net.preferIPv4Stack=true has to be used. This bug is supposedly fixed in Mustang (JDK 6). JGroups, starting from version 2.3, supports IPv6. The change from previous versions was mainly how we marshalled IpAddresses?.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值