`
roadrunners
  • 浏览: 77094 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Dubbo java.io.IOException: Can not lock the registry cache file

阅读更多

我们使用的Dubbo最近老是遇到WARN [DubboSaveRegistryCache-thread-1] (AbstractRegistry.java:221) method:doSaveProperties -  [DUBBO] Failed to save registry store file, cause: Can not lock the registry cache file /home/newad/.dubbo/dubbo-registry-*.*.*.*.cache, ignore and retry later, maybe multi java process use the file, please config: dubbo.registry.file=xxx.properties, dubbo version: 2.5.3, current host: *.*.*.*
java.io.IOException: Can not lock the registry cache file /home/newad/.dubbo/dubbo-registry-*.*.*.*.cache, ignore and retry later, maybe multi java process use the file, please config: dubbo.registry.file=xxx.properties

从异常中很清楚的看到,Dubbo在保存服务列表时失败,失败的原因也很简单,异常里面都说得很清楚了,Can not lock the registry cache file /home/newad/.dubbo/dubbo-registry-*.*.*.*.cache,拿不到文件锁,无法保存服务列表。

 

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

 

主要在启动脚本里面添加配置: -Ddubbo.registry.file=/home/newad/.dubbo/dubbo-registry-Order-0.cache

#!/bin/sh
CU=/home/www/WEB-INF/release/

#LANG="zh_CN"
#export LANG

CP=$CU":./"
LIB=$CU"lib/*.jar"
for i in $LIB
do
    CP="$i:$CP"
done
export CP

JAVA=/home/www/jvm/jdk1.7.0_02/bin/java
export JAVA

cd "$CUorder"
lock=./lock
if [ ! -f "$lock" ]
then
touch "$lock"

echo "classpath:" $CP
$JAVA  -server  -Xms1024m -Xmx1024m -XX:PermSize=256m -DOrder=Order-0 -Dlog4j.configuration=file:/home/www/WEB-INF/release/order/log4j.properties -Ddubbo.registry.file=/home/newad/.dubbo/dubbo-registry-Order-0.cache -cp $CP com.product.PServer

rm "$lock"
else
echo " already startup!"
fi

 

分享到:
评论
5 楼 lurker8 2018-06-25  
不解决,照样跑
4 楼 Master-Gao 2017-10-10  
cuke 写道
请问启动脚本指的是哪个,我的是在windows下启动的,在myeclipse中启动provider的?

楼主说的脚本用来启动你使用了dubbo服务的java程序啊
3 楼 Master-Gao 2017-10-10  
  那么,我不做任何处理可以么?貌似也没啥影响,只是获取服务提供者是需要到dubbo服务器上获取,所以较慢是吗?
2 楼 徐大大 2016-07-11  
引用
引用
引用
引用
引用
1 楼 cuke 2016-01-11  
请问启动脚本指的是哪个,我的是在windows下启动的,在myeclipse中启动provider的?

相关推荐

    dubbo-2.8.4.jar

    at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.returnFromResponse(DefaultFuture.java:190) at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.get(DefaultFuture.java:110) at ...

    java.io.InvalidClassException local class incompatible 处理方法

    ### Java.io.InvalidClassException Local Class Incompatible 解决方案 在Java序列化过程中,经常会遇到`java.io.InvalidClassException`异常,特别是在序列化类时如果类的版本与反序列化环境中的类版本不一致的...

    dubbo2.8.4.jar

    如果使用dubbo遇到错误:com.alibaba.dubbo.remoting.RemotingException: Fail to decode request due to: RpcInvocation 请下载这个jar,替换掉你项目中的那个jar,应该可以解决。

    Invalid name=”com.alibaba.dubbo.config.ProtocolConfig#0″

    使用@EnableDubbo启用dubbo, 配置dubbo.protocol.xxx相关属性,不设置dubbo.protocol.id,启动应用将会抛出异常. java.lang.IllegalStateException: Invalid name=“com.alibaba.dubbo.config.ProtocolConfig#0” ...

    解决:dubbo找不到dubbo.xsd报错

    - schema_reference.4: Failed to read schema document 'http://code.alibabatech.com/schema/dubbo/dubbo.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root ...

    dubbo找不到dubbo.xsd报错

    - schema_reference.4: Failed to read schema document 'http://code.alibabatech.com/schema/dubbo/dubbo.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root ...

    Dubbo管理控制台dubbo admin2.X for jdk8 (window,liunx)

    dubbo admin2.X的管理控制台zip包,专门为运行在jdk8(1.8)的同学准备。...dubbo.registry.address=zookeeper://127.0.0.1:2181 dubbo.admin.root.password=guest dubbo.admin.guest.password=guest

    dubbo 2.7.x 官方参考手册 用户文档

    Apache Dubbo是一个高性能的Java RPC框架,主要用于开发和管理分布式应用程序。用户文档通常包括了安装、配置、使用方法以及最佳实践等,帮助开发者能够快速上手并正确使用该框架。 描述中提到的“带目录,dubbo...

    dubbo.io文档

    《Dubbo.IO 文档》包含了三个关键组成部分:`dubbo-admin-book`,`dubbo-dev-book` 和 `dubbo-user-book`,它们分别面向不同角色的用户,提供了全面且深入的Dubbo框架知识。 首先,让我们从`dubbo-user-book`开始。...

    深入解析Dubbo内核.pdf

    深入解析Dubbo内核.pdf深入解析Dubbo内核.pdf深入解析Dubbo内核.pdf深入解析Dubbo内核.pdf深入解析Dubbo内核.pdf深入解析Dubbo内核.pdf深入解析Dubbo内核.pdf深入解析Dubbo内核.pdf深入解析Dubbo内核.pdf深入解析...

    dubbo的.xsd文件分享

    除此之外,`dubbo.xsd`还定义了诸如`<dubbo:registry>`(注册中心配置)、`<dubbo:protocol>`(通信协议配置)、`<dubbo:provider>`(服务提供者通用配置)、`<dubbo:consumer>`(服务消费者通用配置)等元素,这些...

    无需操作可以直接下载使用的jar 最新版的dubbo admin 2.7 兼容2.6

    最新版的dubbo admin 2.7 兼容 2.6 ...命令行: java -jar dubbo-admin-server-0.1.jar 浏览访问:http://localhost:9999/index.html 可参照https://blog.csdn.net/u010565545/article/details/103886903

    dubbo-2.7.8.jar

    dubbo-2.7.8.jar

    com.sun.jdmk.jmxtools.1.2.1 jmxtools-1.2.1.jar 亲测可用

    缺少jar包 Description Resource Path Location Type Missing artifact com.sun.jdmk:jmxtools:jar:1.2.1 pom.xml Maven Dependency Problem jmxtools-1.2.1.jar

    品优购电商系统-springboot+dubbo版.zip

    -springboot+dubbo版.zip品优购电商系统--springboot+dubbo版.zip品优购电商系统--springboot+dubbo版.zip品优购电商系统--springboot+dubbo版.zip品优购电商系统--springboot+dubbo版.zip品优购电商系统--...

    dubbo xsd的支持

    "dubbo.xsd"文件是Dubbo框架中用于XML配置文件解析的重要组成部分,本文将深入探讨其作用和相关知识点。 首先,xsd(XML Schema Definition)文件是XML的一种规范,用于定义XML文档的结构和数据类型。在Java世界中...

    dubbo.xsd 约束文件 解决标签识别报红

    - cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'dubbo:application'. - schema_reference.4: Failed to read schema document '...

    Java的dubbo.xsd配置文件

    `dubbo.xsd`文件包含了一系列用于描述服务提供者(Provider)、消费者(Consumer)、注册中心(Registry)、监控中心(Monitor)等组件的XML元素。例如,`<dubbo:service>`元素用来定义一个服务提供者,它包含了接口...

    dubbo.xsd文件

    targetNamespace="http://code.alibabatech.com/schema/dubbo"> <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/> <xsd:import namespace="http://www.springframework.org/schema/beans"/> ...

Global site tag (gtag.js) - Google Analytics