Dubbo
文章平均质量分 51
weixin_45614626
这个作者很懒,什么都没留下…
展开
-
本地上传dubbo的jar包到远程仓库
好记性不如烂笔头,好久没写dubbo的接口了,都快忘记怎么打包上传了,记录一下,IDEA配合Maven来实现这个操作。①IDEA中执行命令清空编译信息,mvn clean看到build success信息就表示命令执行成功。②进行本地编译操作,执行如下命令mvn compile -Dmaven.test.skip=true同理看到build success标识命令执行成功。③进行打包操作,执行如下命令:mvn package -Dmaven.test.skip=true成功标志同上原创 2022-04-20 09:53:27 · 450 阅读 · 0 评论 -
dubbo filter中有关bean注入和配置文件读取的问题
今天在写dubbo的filter时候,需要注入bean和读取配置文件,然后理所当然的就像springboot其他地方的写法一样,直接用了@Resource和@Value注解。但是本地调试的时候,发现报错,注入的bean和读取的配置变量全部为null,很是不解,于是就上网查了以下资料。首先,dubbo的拦截器这些组件是由dubbo自己管理的,并不是直接由spring管理的,因此spring的那些注入注解在dubbo里统统不能用。如果想用可以采取以下代码: private Environment envi原创 2022-03-10 14:50:07 · 3358 阅读 · 0 评论 -
dubbo消费者利用filter拦截器塞入隐式参数
之前写过一篇博客是在provider方利用拦截器来处理异常或者打印日志,具体见dubbo的filter现在要在上游服务调用下游dubbo服务的同时,也把一部分通用参数传入下游来做请求的链路追踪,这些通用参数放入接口参数不现实,且会影响其他服务调用方,于是就利用RpcContext来做隐式参数传递。当一个上游一个http请求过来时,通过拦截器将通用参数放入MDC中,MDC是和线程相关的,里边的修饰符是ThreadLocal,具体可以见MDC,之后利用拦截器统一将参数塞入。拦截器代码如下:@Activat原创 2022-03-04 15:35:21 · 2530 阅读 · 0 评论 -
dubbo服务provider代码出现异常时,控制台不输出异常信息
最近在调试的过程中发现,自己写的dubbo服务出现了异常,日志却什么error和exception信息都没有,但是平时的程序,有异常都会自己打印出来,很是费解。查了一圈资料发现了问题。首先平时程序都是用的tomcat的容器配置,有异常或者错误都会自动打印到控制台,dubbo用的不一样,所以就造成这种问题。解决方案有两个:①在配置文件中显示指定dubbo的日志格式:slf4j,dubbo默认的是log4j。在YAML文件中写dubbo: application: logger: slf4j原创 2021-06-17 15:12:35 · 631 阅读 · 0 评论 -
如何利用dubbo的filter来处理自定义异常
有时候项目里会自定义异常来处理一些逻辑上的特定问题,此时可以利用自定义的异常捕捉filter来对所有的dubbo接口进行统一处理。具体的filter代码如下:自定义的filter需要继承ListenableFilter。@Activate@Slf4jpublic class DubboFilter extends ListenableFilter{ public DubboFilter() { super.listener = new DubboFilter.Except原创 2020-11-27 19:31:15 · 794 阅读 · 0 评论 -
Dubbo接口中的Filter
如果是http请求的话,filter很容易就能写出来,现在项目全部换成dubbo接口,也想使用拦截器进行统一操作预处理,就需要用到dubbo里的filter。自定义的filter需要去实现org.apache.dubbo.rpc.Filter接口,同时实现接口里边的invoke方法。具体步骤如下1.编写filter类,该类实现org.apache.dubbo.rpc.Filter接口以及接口的invoke方法。@Slf4jpublic class DubboFilter implements Fi原创 2020-11-27 19:18:13 · 1576 阅读 · 0 评论 -
一个SpringBoot项目里同时调用两个group的dubbo接口该如何配置
当一个SpringBoot项目中需要调用两个项目的dubbo接口时,yml文件需要写成如下配置:dubbo: application: name: 本项目名称 protocol: name: dubbo # 端口使用随机端口,domos上使用 host启动模式, 当指定端口号时会导致多实例端口冲突启动失败 port: -1 # 本地有多个网卡时 需要指定 ip #host: registries: provider1: gr原创 2020-09-21 16:45:59 · 1455 阅读 · 0 评论 -
本地调试Dubbo接口
本地调试Dubbo接口写的是否正确,需要以下几个步骤:1.首先在Maven的pom文件里添加插件<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</art原创 2020-09-03 13:45:52 · 747 阅读 · 0 评论 -
项目里既有Dubbo消费者,又有提供者,怎么配置YML文件
前段时间,写代码时遇到个问题,项目里之前有一个consumer,并且在YML文件里已经配置好了,现在我要再写一个provider,突然就不知道该怎么配置,因为YML文件里对应的属性只能有一个,再写Dubbo会报错,调试了好久,在别人的帮助下才成功调通。之前只有consumer时候YML文件配置如下:dubbo: application: name: user-consumer registry: address: *** protocol: zookeeper原创 2020-09-03 13:37:02 · 907 阅读 · 0 评论 -
[DUBBO] Failed to save service store file, cause: 文件名、目录名或卷标语法不正确。
WARN [DubboSaveMetadataReport-thread-1] org.apache.dubbo.metadata.store.zookeeper.ZookeeperMetadataReport - [DUBBO] Failed to save service store file, cause: 文件名、目录名或卷标语法不正确。, dubbo version: 2.7.3, current host: *****java.io.IOException: 文件名、目录名或卷标语法不正.原创 2020-09-03 13:25:51 · 1737 阅读 · 7 评论