异常信息

  java.io.IOException: Can not lock the registry cache file C:\Users\username.dubbo\dubbo-registry-1*.2*.2*.1*.cache, ignore and retry later, maybe multi java process use the file, please config: dubbo.registry.file=xxx.properties at com.alibaba.dubbo.registry.support.AbstractRegistry.doSaveProperties(AbstractRegistry.java:193) ~[dubbo-2.5.3.jar:2.5.3] at com.alibaba.dubbo.registry.support.AbstractRegistrySaveProperties.run(AbstractRegistry.java:150)[dubbo−2.5.3.jar:2.5.3]atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[na:1.7.079]atjava.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:615) [na:1.7.0_79] at java.lang.Thread.run(Thread.java:745) [na:1.7.0_79]

场景描述
项目采用 dubbo 进行项目之间的RPC接口访问,但仅有测试环境,本地进行项目联调时需要启动两个不同的项目
本地通过IDEA+Tomcat部署项目,仅一个Tomcat服务器
一个项目启动后,另外一个项目报错,是端口号问题,同一个tomcat启动两个项目所以修改端口号即可解决
再次重新启动项目,报上述的异常信息

异常原因

Dubbo通过注册中心发现服务,发现的服务Dubbo同时也会保存到本地缓存一份,缓存的好处有很多,比如不需要每次使用的时候都通过注册中心获取,注册中心不可用了,不影响消费端的调用,因为本地缓存了一份服务提供者列表。Dubbo本地缓存默认采用的文件,会根据注册中心自动在当前用户目录下生成一个缓存文件,类似/home/newad/.dubbo/dubbo-registry-…cache,星号表示注册中心的IP地址,当同一台机器上同时启动多个进程,就会出现多个进程争夺此文件的写入权限

解决方案

重命名本地缓存文件或删除
原理:根据错误异常的提示,更改缓存文件名称
操作:停掉所有服务,删除 C:\Users\username.dubbo\ 文件夹内的所有文件,重新启动服务,问题解决。
更改项目缓存文件的输出位置
原理:即将其中一个项目的缓存文件指定到另一个文件夹内,就不会冲突了:
操作:在 dubbo 配置文件,添加file配置,file="${catalina.home}/dubbo-registry/dubbo-registry.properties",即

<dubbo:registry protocol="zookeeper" address="${zookeeper.address}" file="${catalina.home}/dubbo-registry/dubbo-registry.properties"/>

其他:此处的catalina.home指向Tomcat的安装目录
配置多个Tomcat
原理:因为是同一个Tomcat部署两个项目才会出现文件存放冲突,添加多个Tomcat来避免此问题
采用其他项目部署方式
方式:IDEA + Tomcat 插件的方式;IDEA + MVN ,通过 MVN 部署启动项目

Can not lock the registry cache file C:\Users\username.dubbo\dubbo-registry-1*.2*.2*.1*.cache相关推荐

  1. 【Can not lock the registry cache file】同一台机器部署多个dubbo应用(配置文件相同)

    大家好,我是烤鸭: 场景是: 多个项目(配置文件相同)部署同一个服务器,部署的代码大部分相同.(具体原因是同一个项目的不同分支部署了两次) 启动之后,一直在报这个错误: [WARN] [2019-05 ...

  2. Dubbo异常 Can not lock the registry cache file解决方案

    跑了很久的服务突然启动报错: [DUBBO] Failed to save registry store file, cause: Can not lock the registry cache fi ...

  3. Dubbo异常: Can not lock the registry cache file解决方案

    跑了很久的服务突然启动报错: [DUBBO] Failed to save registry store file, cause: Can not lock the registry cache fi ...

  4. Shareplex 错误 can't open or read object cache file

    2019独角兽企业重金招聘Python工程师标准>>> Shareplex 是一款数据复制软件,功能和性能都还不错,最近在安装中,遇到如下问题,解决后将记录总结成此篇,以便以后查询. ...

  5. mysql cache lock_mysql服务器上有sql状态status显示 Waiting for query cache lock?

    [导读] 与朋友或同事谈到mysql查询缓存功能的时候,个人喜欢把Query Cache比作荔枝, 是非常营养的东西,但是一次性吃太多了,就容易导致上火而流鼻血,虽然不是特别恰当的比喻,但是有很多相似 ...

  6. The global shader cache file'X:/XXXX/GlobalShaderCache-PCD3D_SM5.bin' is missing——UE4工程运行失败

    今天在学习UE4的时候,新建一个C++工程,编译启动后在编辑器里添加了一个新的类.然后我停止了编辑器的运行,进行简单的修改后发现可以生成却不能运行,提示如下. 提示我一个全局的shader缓存文件丢失 ...

  7. Docker Registry采用token认证实践

    Docker Registry的Token认证 token认证过程 图解 详细介绍6个步骤 Step 1,Client 向registry 发起连接 Step 2,未认证响应(Unauthorized ...

  8. Dubbo 服务本地缓存

    开篇 根据官方图,dubbo调用者需要通过注册中心(例如:ZK)注册信息,获取提供者,但是如果频繁往ZK获取信息,肯定会存在单点故障问题,所以dubbo提供了将提供者信息缓存在本地的方法. Dubbo ...

  9. Dubbo源码分析(三) -- Dubbo的服务发现源码深入解析4万字长文

    前言 前面两篇基本上已经对dubbo的SPI,服务发布,注册等功能进行了分析,那么在消费端是如何发现服务,并进行透明的远程调用的呢?带着这个疑问,走入今天的篇章,Dubbo的服务发现 服务发现的流程 ...

最新文章

  1. android rn 和webview,RN 组件webView 有可能出现的问题
  2. Luggage Lock 偏移,bfs,预处理(2021.11.沈阳)
  3. junit 测试遇上java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing 错误
  4. .NET 6 Preview 2 发布
  5. VO,BO,PO,DO,DTO的区别
  6. 你可以分配多大的内存
  7. Matlab Tricks(二十六)—— 置乱(随机化)与恢复(shuffle/permutation restore)
  8. [Curator] Barrier 的使用与分析
  9. Android Uri to Path
  10. 时延估计器的蒙特卡洛仿真分析
  11. Flex布局应用---导航栏实现
  12. 555定时器产生对称三角波电路
  13. cpu flags 一致性检查
  14. 高质量程序设计指南(笔记)
  15. 关于python语言数值操作符_下列哪种物质是体内硫酸基的提供者
  16. 2个鸡蛋100层楼--动态规划
  17. 《数据库原理与应用》实验一
  18. 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)G - 幼儿园战争...
  19. debian源(Debian源代码)
  20. 快速将图片背景去掉教程

热门文章

  1. 虚拟机linux磁盘空间不足的解决办法
  2. win10网络不出现计算机列表,win10系统电脑不显示无线网络的解决方法
  3. 韦东山第1期-学习笔记-1
  4. 485传感器接入串口交换机采集方案
  5. 计算机结构体系:循环展开题型 (非凭感觉的方法详解)
  6. vivos9开启定位服务设置步骤介绍(图文教程)
  7. 英特尔RealSense激光雷达摄像头L515拆解分析
  8. java后台 重置手机密码(邮箱点击确认)
  9. 用NEON intrinsic实现RGB转YUV420SP(NV12)
  10. 快速学习-XXL-JOB调度中心/执行器 RESTful API