使用Ehcache缓存同步启动时抛出异常net.sf.ehcache.CacheException: Can't assign requested address

这个问题在插入公司内网网线的时候不会复现,由于我使用的是公司无线网络,故导致此问题。

具体解决办法是:在启动服务时,指定使用默认ipv4的网络接口。可以在启动jvm时添加参数-Djava.net.preferIPv4Stack=true

具体原因:发现报错在调用heartBeatReceiver.init()创建接受器的的时候,会创建多广播socket–MulticastSocket,创建MulticastSocket时,调用NetworkInterface会静态获取默认的网络接口,系统默认使用的网络接口是ipv6,配置的ipv4的广播端口230.0.0.1,无法join进去,所以报了无法分配请求地址的异常。

 

posted @ 2019-03-14 22:26  xfma  阅读(2517)  评论(0编辑  收藏  举报