跑了很久的服务突然启动报错:
[DUBBO] Failed to save registry store file, cause: Can not lock the registry cache file /root/.dubbo/dubbo-registry-xx.xx.xx.xx.cache, ignore and retry later, maybe multi java process use the file, please config: dubbo.registry.file=xxx.properties, dubbo version: 2.8.4, current host: xx.xx.xx.xx
java.io.IOException: Can not lock the registry cache file /root/.dubbo/dubbo-registry-xx.xx.xx.xx.cache, ignore and retry later
分析:
Dubbo本地缓存服务列表默认采用的文件,会根据注册中心自动在当前用户目录下生成一个缓存文件。
默认地址:/root/.dubbo/dubbo-registry-xx.xx.xx.xx.cache
场景:再同一台机器上最近增加了一些Dubbo服务,导致多个进程去抢占默认的这个服务列表所在文件的读写权限。
解决:
分出一些服务配置不同的文件地址即可:
dubbo.registry.file=/path