使用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进去,所以报了无法分配请求地址的异常。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步