dubbo常見報錯

1.java

java.io.IOException: Can not lock the registry cache file C:\Users\Administrator\.dubbo\dubbo-registry-127.0.0.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)
at com.alibaba.dubbo.registry.support.AbstractRegistry$SaveProperties.run(AbstractRegistry.java:150)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)緩存

當本地同時啓動服務端和客戶端的時候就可能產生這個問題。
解決方案日誌

Dubbo經過註冊中心發現服務,發現的服務Dubbo同時也會保存到本地緩存一份,緩存的好處有不少,好比不須要每次使用的時候都經過註冊中心獲取,註冊中心不可用了,不影響消費端的調用,由於本地緩存了一份服務提供者列表。Dubbo本地緩存默認採用的文件,會根據註冊中心自動在當前用戶目錄下生成一個緩存文件,相似/home/newad/.dubbo/dubbo-registry-*.*.*.*.cache,星號表示註冊中心的IP地址,當同一臺機器上同時啓動多個進程,就會出現多個進程爭奪此文件的寫入權限,觖此問題的方法也很簡單,日誌裏面都說了從新配置一下這個緩存文件就。進程

主要在啓動腳本里面添加配置: -Ddubbo.registry.file=C:\Users\dell.dubbo\dubbo-registry-192.168.1.62-junit.cache 文件名本身配置一個 -Ddubbo.registry.file=C:\Users\dell.dubbo\dubbo-registry-192.168.1.62-junit.cacheit

相關文章
相關標籤/搜索